React是一个状态机,体现是什么地方呢,就是体如今state上,经过与用户的交互,实现不一样的状态,而后去渲染UI,这样就让用户的数据和界面保持一致了。state是组件的私有属性。
state 只能在本组件中去初始化,而且 state 只能被本组件去修改和仿问,不能被外部仿问和修改,因此也能够说,state 是组件私有的react
constructor(props) { super(props); this.state={ key:value, ... } }
2.更新state算法
注意:setState()是异步的,也就是你调用了setState()以后,React就开始准备去更新了,中间计算会可能会有必定的延时
this.setState({ key:value }) ;
三、调用diff算法
setState()会触发diff算法最终肯定是否要更新。
每跟新state里面的数据,render 就会从新执行。~~~~npm
可让 setState()
接收一个函数而不是一个对象。这个函数用上一个 state 做为第一个参数,将这次更新被应用时的 props 作为第二个参数:~~~~数组
// Correct this.setState((state, props) => ({ counter: state.counter + props.increment }));
react 主要是单项数据流,作页面渲染。app
[props]
数组相似于使用componentDidUpdate
里面完成。5. React-Hooks 异步
React Hooks 使 规则
为 保证 Hooks 在使 时 会出现 可预测的问题,官 制定 定要遵循的两条使 规则( 建议),在此提早声
明.
只能在函数组件中调 Hook( 定义 Hook 中能够调 Hook), 要在其余 JavaScript 函数中调 。**函数
基础Hooks APIthis
useEffect ( 反作用函数,钩子函数,componentWillUpdate,componentDidUpdate.)code
useContextcomponent