Skip to content
On this page

数据的更新

初始化状态

状态:后期修改状态,可以触发视图的更新 需要手动初始化,如果我们没有去做相关的处理,则默认会往实例上挂载一个 state,初始值是 null => this.state=null 手动处理:

javascript
state = {
...
};
1
2
3

修改状态

this.state.xxx=xxx :这种操作仅仅是修改了状态值,但是无法让视图更新 想让视图更新,我们需要基于 React.Component.prototype 提供的方法操作:

javascript
// this.setState(partialState) 既可以修改状态,也可以让视图更新 「推荐」
// partialState:部分状态
this.setState({
    xxx:xxx
});

// 强制更新
this.forceUpdate()
1
2
3
4
5
6
7
8

触发 componentWillMount 周期函数(钩子函数)

组件第一次渲染之前,钩子函数:在程序运行到某个阶段,我们可以基于提供一个处理函数,让开发者在这个阶段做一些自定义的事情

  • 此周期函数,目前是不安全的「虽然可以用,但是未来可能要被移除了,所以不建议使用」
    • 控制会抛出黄色警告「为了不抛出警告,我们可以暂时用
  • UNSAFE_componentWillMount」
    • 如果开启了 React.StrictMode「React 的严格模式」,则我们使用 UNSAFE_componentWillMount 这样的周期函数,控制台会直接抛出红色警告错误!! React.StrictMode VS "use strict" + "use strict":JS 的严格模式 + React.StrictMode:React 的严格模式,它会去检查 React 中一些不规范的语法、或者是一些不建议使用的 API 等!!

触发 render 周期函数:渲染

触发 componentDidMount 周期函数:第一次渲染完毕

  • 已经把 virtualDOM 变为真实 DOM 了「所以我们可以获取真实 DOM 了」
  • ...
沪ICP备20006251号-1