【发布时间】:2019-11-14 15:36:30
【问题描述】:
我想更新我的 React 应用程序中的所有组件(无论嵌套级别是什么,或者是否有任何 prop 或状态更改)。
我尝试使用this.forceUpdate(),但由于某些组件不使用任何道具或状态,因此它们及其子组件不会更新。
另外,我尝试了in the example 提到的解决方案,但这也没有用。
App.js
render() {
return (
<div>
<Routes />
</div>
);
}
如您所见,路由不使用任何道具,因此该组件不会重新渲染。因此,Routes 中的任何组件都没有更新。
一种方法是使用商店。由于这只是一个小操作,所以我不想将商店用于这种用例。
【问题讨论】:
-
出于好奇,为什么需要强制重新渲染整个应用程序?如果某些元素没有 state 或 props,或者它们的 state 或 props 没有改变,那么他们为什么需要重新渲染呢?应该导致路由重新渲染的更改是什么?
标签: reactjs