我正在创建我的第一个React应用程序,我正在与一个我不太理解的bug作斗争。我挂载了一个组件(A),然后它挂载了另一个组件(B),然后它挂载了另一个(C)。用户交互会导致卸载父组件(A)而不会遇到任何问题(使用React.unmountComponentAtNode())。然后,我重新挂载组件以重新启动活动,并开始在调用setState()时出现错误:
未捕获的错误:不变冲突: replaceState(...):只能更新已安装或正在安装的组件。
我还得到了与保留前一个练习中的状态变量的值相关的错误。
所以我的问题是,我如何确保不会有先前练习的状态残留?根据React文档,React.unmountComponentAtNode()将清理组件的状态,但我清楚地看到第二次挂载后未挂载的组件的子组件带有状态。
更多信息:我在Nodejs中使用React
发布于 2015-02-08 01:19:53
在卸载该组件之后,它保留在虚拟dom中,并且仍然能够接收socket.io命令。我能够使用isMounted()来防止错误。
https://stackoverflow.com/questions/28374537
复制相似问题