传递函数给组件
class 属性(第三阶段提案)
class Foo extends Component {// Note: this syntax is experimental and not standardized yet.handleClick = () => {console.log('Click happened');}render() {return <button onClick={this.handleClick}>Click Me</button>;}}
为什么 setState 给了我一个错误的值?
setState是异步的
如何解决?
给 setState 传递一个函数,而不是一个对象,就可以确保每次的调用都是使用最新
incrementCount() {this.setState((state) => {// 重要:在更新的时候读取 `state`,而不是 `this.state`。return {count: state.count + 1}});}
setState 什么时候是异步的?
目前,在事件处理函数内部的 setState 是异步的。
例如,如果 Parent 和 Child 在同一个 click 事件中都调用了 setState ,这样就可以确保 Child 不会被重新渲染两次。
什么是 Virtual DOM?
虚拟的DOM,使用React-Dom库和真实的DOM同步,这一过程叫做协调。
