react如何通信?
- 父子组件 props
- 自定义事件
- Redux
- context(提供者 Provider 和 消费者 Cosumer)
jsx本质
- createElement 函数
- 执行会返回一个 vnode
context是什么?
- 父组件,向其下所有子孙组件传递信息
- 应用:主题切换,语言切换,用户信息
shouldComponentUpdate用途
- 性能优化
- 配合 “ 不可变值 “ 一起使用,否则会出错
redux单向数据流
点击查看【processon】
import React from "react";
interface Props {}
interface StateType {
count: number;
}
export class C extends React.Component<Props, StateType> {
constructor(props: Props) {
super(props);
this.state = { count: 0 };
}
componentDidMount() {
this.setState({ count: this.state.count + 1 });
console.log(this.state.count);
this.setState({ count: this.state.count + 1 });
console.log(this.state.count);
setTimeout(() => {
this.setState({ count: this.state.count + 1 });
console.log(this.state.count);
}, 0);
setTimeout(() => {
this.setState({ count: this.state.count + 1 });
console.log(this.state.count);
}, 0);
}
render() {
const { count } = this.state;
return <div>{count}</div>;
}
}