《十一》严格模式 React.StrictMode

React.StrictMode 严格模式可以为其后代元素触发额外的检查和警告,仅在开发模式下运行,不会影响生产构建。

React.StrictMode 本质上也是一个组件,自身不会渲染成任何可见的 UI。

严格模式下会检查:

  1. 不安全的生命周期:UNSAFE_componentWillMount 等。
  2. 过时的 ref API:字符串形式的 ref。
  3. 废弃的 findDOMNode 方法:在之前的 React API 中,可以通过 findDOMNode 来获取 DOM,目前已经不推荐这种方式了。
  4. 过时的 Context API:早期的 Context 是通过 static 声明 Context 对象属性,然后通过 getChildContext 返回 Context 对象等方式来使用 Context。
  5. 意外的副作用:严格模式下,组件的生命周期都会被执行两次,这是 React 为了让开发者查看编写的一些逻辑代码被调用多次时,是否会产生一些副作用。
import {StrictMode} from 'react'
import Home from './home'
class App extends PureComponent {
  render() {
    return (
      <StrictMode>
        <Home />
      </StrictMode>
    )
  }
}


class Home extends PureComponent {
  // 已过时的生命周期,在严格模式下会报错提醒
  UNSAFE_componentWillMount() {
    console.log('UNSAFE_componentWillMount')
  }

  render() {
    return <h1>Home</h1>
  }
}

请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值