reactjs isMountedAPI 的文档提到:
您可以使用此方法来保护对
setState()或的 异步调用forceUpdate().
我的主要问题是何时应该通过电话来setState()保护isMounted()?
在最初的AJAX教程http://facebook.github.io/react/tips/initial-ajax.html的setState在XHR回调使用使用isMounted()后卫,但这个要求?
第二个问题是,如果需要,为什么会这样呢?看起来检查本身非常简单,并且可以内联到setState()没有任何显着的性能损失,但API使用的大量简化.
从逻辑上讲,如果调用回调时可以卸载组件,则需要 isMounted。
最佳实践是在 componentWillUnmount 中避免这种情况,例如中止 ajax 请求、取消超时或取消订阅事件。
可以说,这种方式 api 更简单,因为如果在不适当的时间调用 setState,它不会默默地失败。无声地失败会导致许多难以追踪的错误。
| 归档时间: |
|
| 查看次数: |
846 次 |
| 最近记录: |