当我们创建了具有相同react组件的多个实例时,除非将所有实例从显示中移除,否则不会调用componentWillUnmount。可以吗?
我发现了问题。就我而言,我们有一个容器,该容器根据数组的内容显示组件。
来自数组的索引用作组件的键。阵列中的元素会根据网络通信进行更改。
因此,最初会创建一个键类型为0的特定类型的组件。当我们从网络接收通信时,我们将从数组中删除上述类型并添加一个新类型。
当渲染被调用时,该组件被重新创建,但是新类型和键都为0。
由于先前和新创建的组件的键都为0,所以不会调用componentDidMount和componentWillUnmount方法。
一旦我将键从索引更改为解决问题的组件类型,就可以了。将来可能会遇到类似问题的人。
谢谢