gpt4 book ai didi

ReactJS:setState 什么时候应该由 isMounted 守护?

转载 作者:行者123 更新时间:2023-12-03 13:31:05 24 4
gpt4 key购买 nike

reactjs isMounted API 的文档提到:

You can use this method to guard asynchronous calls to setState() or forceUpdate().

我的主要问题是何时应该通过调用isMounted()来保护对setState()的调用?

Initial AJAX Tutorial http://facebook.github.io/react/tips/initial-ajax.html XHR 回调中使用的 setState 使用了 isMounted() 保护,但这是必需的吗?

第二个问题是,如果需要的话,为什么会这样?检查本身似乎非常简单,可以内联到 setState() 中,不会造成任何显着的性能损失,但 API 的使用得到了很大的简化。

最佳答案

从逻辑上讲,如果调用回调时可以卸载组件,则需要 isMounted。

最佳实践是在 componentWillUnmount 中避免这种情况,例如中止 ajax 请求、取消超时或取消订阅事件。

可以说,这种方式的 api 更简单,因为如果在不适当的时间调用 setState,它不会默默地失败。默默地失败会导致许多难以追踪的错误。

关于ReactJS:setState 什么时候应该由 isMounted 守护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26821165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com