gpt4 book ai didi

facebook - Reactjs中componentDidMount和getInitialState的区别

转载 作者:行者123 更新时间:2023-12-03 13:56:06 24 4
gpt4 key购买 nike

据我所知, getInitialState 在组件的生命周期中被调用一次,而 componentDidMount 在组件渲染时被调用。

那么这是否意味着两者在组件的生命周期中都只会被调用一次?有什么区别?

最佳答案

getInitialState 在组件第一次实例化时被调用。它应该始终返回一个对象,并且该对象将是组件内 this.state 的初始状态。如果您不愿意,则不必定义 getInitialState,也许您不需要内部状态,在这种情况下,请勿定义它。

一旦组件实际安装到 DOM,就会调用

componentDidMount。但并不是像您所建议的那样,每次渲染组件时都会如此。如果您正在寻找每次渲染组件时运行的东西(render 除外),请查看 componentWillUpdate和/或componentDidUpdate .

至于主要区别,getInitialState 从字面上看只是应该返回该组件的初始状态,仅此而已。该函数早在组件实际渲染到 DOM 之前就已执行。 componentDidMount 在组件渲染到 DOM 后直接执行,因此,例如,您现在可以执行需要组件首先位于 DOM 上的操作,例如使用 this.getDOMNode( ) 检查组件根 HTML 元素的确切高度,或修改其滚动位置。

你是对的,两者在 React 组件实例的生命周期中只会被调用一次。

关于facebook - Reactjs中componentDidMount和getInitialState的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30902924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com