在事件处理程序中访问this.state有多安全?

时间:2016-06-29 22:14:32

标签: react-native lifecycle

React Native文档在forceUpdate的文档中说明(可以认为对于立即将对setState的最后一次调用与实际this.state对象同步以使用它们的值有用) :

  

通常你应该尽量避免使用forceUpdate(),只能在render()中读取this.props和this.state。这使您的组件“纯粹”,您的应用程序更简单,更高效。

这是否意味着它不安全(即可能冒着使用过时值的风险)尝试访问作为事件处理程序调用的函数内部的this.state(例如onScrollonEndReached,...)或者这些事件是否包含在渲染周期内?

1 个答案:

答案 0 :(得分:1)

我无法自信地回答您的问题,但请记住,您可以将回调传递给setState,这意味着后续调用将对新状态起作用。如果您必须使用forceUpdate,那么大多数可能会尝试做错事。

  

第二个(可选)参数是一个回调函数   完成setState后执行并重新呈现组件。