视频字幕
React 18+ 的 StrictMode(严格模式)是一个仅在开发模式下运行的工具,用于帮助开发者识别应用中的潜在问题。它不会影响生产环境的代码或性能。
在 React 18+ 中,StrictMode 会故意双重调用组件的渲染函数、状态更新函数和 Effect 回调函数。这种机制模拟组件在快速刷新时的挂载、卸载和重新挂载行为,帮助开发者发现副作用清理不当和非纯函数问题。
双重调用机制帮助开发者发现副作用清理不当的问题,比如未清除的定时器或未取消的订阅。当组件被卸载时,如果没有正确清理这些资源,双重调用会导致资源泄漏问题更加明显。同时它也能暴露非纯函数问题,比如在渲染函数中包含副作用或在状态更新时产生意外行为。