开发者问题收集

此警告的可能原因和解决方案

2020-04-05
12010

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

1个回答

此文档上有建议。它看起来像是相同的警告。 doc door

支持在渲染期间调用 setState,但仅限于同一组件。如果您在不同组件的渲染期间调用 setState,您现在将看到一个警告:

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

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

高鵬翔
2020-04-06