当我们使用create-react-app创建一个新项目的时候,会在src/index.js文件下面发现这么一行代码:

<React.StrictMode>
    <App />
 </React.StrictMode>

那么React.StrictMode到底是什么,有什么功能,对于我们而言,使用与不使用的区别在哪呢。

React.StrctMode,React的严格模式,只运行于开发环境,主要用于检查工作,对于我们而言,它能够在开发时辅助我们,避免我们使用异常的生命周期、错误的调用方法等,减少项目上线产生未知的BUG风险。

根据官网的解释,它主要的作用是:

StrictMode 目前有助于:

那么,于我们而言,使用与不使用的区别在哪儿呢?

因为这个组件不会渲染真正的UI,同时也不会在线上环境生效,就意味着,这可以帮助我们在开发时候检测错误,在线上无任何影响。

而且由于React的机制,React.StrictMode会多执行一次render,当有任何数据变化的时候,在线下,我们每次setState都会执行两次render,而线上只会执行一次render,这意味着如果你在线下能有一个不错的性能,你到线上去,运行性能提升是线下的两倍。

对于我们而言,使用它可以让我们少很多性能调优,当然资源加载这块还是得我们手动去搞才行的