视频字幕
React 18 引入的严格模式会导致组件的副作用函数看起来被执行两次。这不是真正的双重挂载,而是React为了帮助开发者检测潜在问题而设计的开发时测试机制。
React 18 的并发特性使得组件可能在不卸载DOM的情况下被逻辑上卸载并重新挂载。严格模式通过模拟这种卸载重挂载的过程,帮助开发者确保副作用逻辑具有正确的清理机制,能够处理这种潜在的场景。
在严格模式下,当组件首次挂载时,React会执行特定的序列:首先运行useEffect的setup函数,然后立即运行cleanup函数,最后再次运行setup函数。这个setup-cleanup-setup的序列模拟了组件被卸载然后重新挂载的过程。