Reactjs React组件即使在卸载后仍然存在

Reactjs React组件即使在卸载后仍然存在,reactjs,react-redux,Reactjs,React Redux,场景: 我有一个React组件,它显示在我网站的一个选项卡中。导航到同一网站中的另一个选项卡将卸载该组件,然后导航回原始选项卡将再次呈现该组件 问题: 我面临的问题是,旧的React组件仍然显示在React developer tools控制台中,每次我导航回原始选项卡时,那里显示的组件数量都会增加一个 我的问题是:组件是否没有被删除,是否有另一种方法可以删除我没有执行的组件,或者是React developer tools console显示早期组件的行为?我建议检查实际的DOM,而不是您在d

场景: 我有一个React组件,它显示在我网站的一个选项卡中。导航到同一网站中的另一个选项卡将卸载该组件,然后导航回原始选项卡将再次呈现该组件

问题: 我面临的问题是,旧的React组件仍然显示在React developer tools控制台中,每次我导航回原始选项卡时,那里显示的组件数量都会增加一个


我的问题是:组件是否没有被删除,是否有另一种方法可以删除我没有执行的组件,或者是React developer tools console显示早期组件的行为?

我建议检查实际的DOM,而不是您在devtools中看到的。devtools中可能存在错误。React的开发工具的工作方式有点棘手。页面中发生的事情与实际的devtools ui之间的通信取决于两个因素。有内容脚本、背景脚本、他们编写的桥梁等等。如果您看到DOM中的组件数量不断增加,那么问题不在devtools中,而在您的应用程序中。

您是否通过redux管理您的状态?如果是,是否删除用于渲染额外组件的不需要的状态?我猜redux有点问题。这是一个可靠的建议。我在react devtools中确实有一些奇怪的东西没有出现在实际的DOM中。顺便说一句,将鼠标悬停在React控制台的额外组件上,会将该位置显示为0px*0px,就好像这些元素仍然存在于内存中,但不是DOM的一部分(未命名的子元素),如果只有一个元素,我就不会担心了。可能是devtools扩展没有正确跟踪。