【问题标题】:Possible cause and solution for this warning此警告的可能原因和解决方案
【发布时间】:2020-07-17 06:40:41
【问题描述】:

警告:在渲染不同的组件 (Y) 时无法更新组件 (X)。要在 Y 中找到错误的 setState() 调用,请按照以下所述的堆栈跟踪:

【问题讨论】:

    标签: reactjs react-native


    【解决方案1】:

    有关于此文档的建议。它看起来像同样的警告。 doc door

    渲染时支持调用 setState,但仅限于同一个组件。如果你在渲染不同组件的过程中调用 setState,你现在会看到一个警告:

    Warning: Cannot update a component from inside the function body of a different component.
    

    此警告将帮助您找到因意外状态更改而导致的应用程序错误。在极少数情况下,由于渲染而有意更改另一个组件的状态,您可以将 setState 调用包装到 useEffect 中。

    【讨论】:

    • 将 setState 放入 useEffect 结束了对我的警告。但我想知道它是否仍然是一个好方法。
    猜你喜欢
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多