如果你的render()方法依赖于一些其他的数据,你可以告诉React组件需要通过调用forceUpdate()重新渲染。
调用forceUpdate()会导致组件跳过shouldComponentUpdate(),直接调用render()。这将触发组件的正常生命周期方法,包括每个子组件的shouldComponentUpdate()方法。
forceUpdate就是重新render。有些变量不在state上,当时你又想达到这个变量更新的时候,刷新render;或者state里的某个变量层次太深,更新的时候没有自动触发render。这些时候都可以手动调用forceUpdate自动触发render
const [ignored, forceUpdate] = useReducer(x => x + 1, 0);
本文探讨了在React中如何使用forceUpdate()方法强制组件重新渲染,即使数据未变化。当组件依赖于非state数据或者state更新层级较深未触发render时,forceUpdate()能派上用场。通过使用useReducer Hook,可以方便地触发组件的重新渲染过程。
1万+

被折叠的 条评论
为什么被折叠?



