【问题标题】:Calling action from constructor vs a life cycle method从构造函数调用动作与生命周期方法
【发布时间】:2023-04-06 13:33:01
【问题描述】:

调用 API 调用以补充我的状态的操作的最佳位置在哪里?构造函数或生命周期方法之一,例如组件WillMount?

【问题讨论】:

    标签: reactjs redux


    【解决方案1】:

    最好从生命周期方法componentDidMount进行api调用,react doc也建议这样做。

    根据DOC

    componentDidMount:

    componentDidMount() 在组件被调用后立即调用 安装。需要 DOM 节点的初始化应该放在这里。 如果你 需要从远程端点加载数据,这是一个很好的地方 实例化网络请求。 在此方法中设置状态将 触发重新渲染。

    【讨论】:

    • 谢谢!唯一让我停下来的是它说“这个方法将触发重新渲染”。我知道我们应该遵循 DOC,但也许 ComponentWillMount 可能是另一个好地方?
    • 检查这个答案它解释了为什么我们不应该在 componentWillMount 中进行 api 调用:stackoverflow.com/questions/43154544/…
    • 根据文档:“在 componentWillMount 中设置状态不会触发重新渲染。”我们不应该将此方法用于 api 调用。
    • @SammyI。感谢您提供详细信息,附加链接有一个很好的解释:)
    • 计划是在 React 17 中弃用 componentWillMount()。使用 componentDidMount() 的另一个原因。
    猜你喜欢
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 2011-03-05
    • 2013-08-10
    • 2011-04-11
    • 1970-01-01
    • 2020-11-16
    相关资源
    最近更新 更多