wol*_*ang 3 facebook flux reactjs
我知道getInitialState在组件的生命周期中被调用一次,并且在呈现组件时会调用componentDidMount.
那么这是否意味着它们将在组件的生命周期中被调用一次?有什么不同?
Mik*_*ver 17
getInitialState在组件的第一次实例化时调用.它应该始终返回一个对象,该对象将是this.state组件内的初始状态.您不必定义getInitialState是否不想要,也许您不需要内部状态,在这种情况下不要定义它.
componentDidMount一旦组件实际安装到DOM,就会调用它.但是,正如您所建议的那样,每次渲染组件时都没有.如果您正在寻找每次渲染组件时运行的东西(除了render),请查看componentWillUpdate和/或componentDidUpdate.
至于主要区别,getInitialState实际上只是假设返回该组件的初始状态,没有别的.该函数在组件实际呈现给DOM之前很久就执行了. componentDidMount在将组件呈现给DOM之后直接执行,例如,您现在可以首先执行需要组件在DOM上的事情,例如使用this.getDOMNode()检查组件的根HTML元素的确切高度,或者修改它的滚动位置.
你是对的,两者都只会在你的React组件实例的生命周期中被调用一次.
| 归档时间: |
|
| 查看次数: |
9198 次 |
| 最近记录: |