- 在 React 中 Props 是 不可变(immutable)的,所以他们永远不会改变。
- 而 this 是而且永远是 可变(mutable)的。
这也是类组件 this 存在的意义:能在渲染方法以及生命周期方法中得到最新的实例。
请求已经发出的情况下,组件进行了重新渲染。this.props将会改变。
从 this 中读取数据的这种行为,调用一个回调函数读取 this.props 的 timeout 会让 showMessage 回调并没有与任何一个特定的渲染"绑定"在一起,所以它"失去"了正确的 props。
在函数组件中,props仍旧被捕获了 —— React将它们作为参数传递。 不同于 this , props 对象本身永远不会被React改变。
函数式组件捕获了渲染所使用的值。