React.StrictMode

322 阅读1分钟

React.StrictMode 是一个组件,主要做一些检测。 React.StrictMode

==严格模式检查仅在开发模式下运行;它们不会影响生产构建。==

例如:

  1. 识别不安全的生命周期
  2. 关于使用过时字符串 ref API 的警告
  3. 关于使用废弃的 findDOMNode 方法的警告
  4. 检测意外的副作用
  5. 检测过时的 context API

为了==检测意外的副作用==,React.StrictMode模式下,会把 可能有副作用的 生命周期函数运行2遍。

  1. constructor函数运行2次
  2. getDerivedStateFromProps函数运行2次
  3. shouldComponentUpdate函数运行2次
  4. render函数第一次运行2次,update的时候运行2次
  5. hooks:传入useState,useMemo或useReducer的函数会运行2次

DEMO