React.StrictMode 这个是什么

来源:8-6 【订阅state】store的连接与订阅

慕村0538170

2022-06-30

index.ts 文件中 React.StrictMode 包含一个 <App / > 会让你执行两次,

root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

能删除他吗 或者这个有什么作用

写回答

1回答

阿莱克斯刘

2022-07-07

StrictMode 是一个用来检查项目中潜在问题的组件,它不会参与UI渲染,只会为嵌套元素提供检查和警告。

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

不使用StrictMode不会对系统造成任何影响,不过为了避免错误最好使用StrictMode。至于渲染两次app的问题,错误应该来源于你的代码而不是StrictMode,因为StrictMode不参与UI渲染。

0
3
阿莱克斯刘
所以,请不要在这些方法中包含副作用。我之前确实没有注意到这个问题,strictMode莫名其妙的调用,尤其是在react 17以后还修改了console的规则,对程序员不是特别友好。不过,既然react要这样处理肯定还是有它的原因,我们还是得多读文档,欢迎继续讨论这个话题。谢谢你的提问。
2022-08-02
共3条回复

React18 系统精讲 结合TS打造旅游电商平台

React18 精讲 + 结合 TS 实战 + 热门业务开发,获取必备技能

1993 学习 · 1015 问题

查看课程