强制React组件重新渲染

发布于:2021-02-12 00:00:56

0

573

0

React 渲染

React组件的优点在于,它们会根据state或中的更改自动进行渲染和更新props。只需从任何地方更新状态,然后您的UI元素就会突然更新-太棒了!但是,在某些情况下,您可能只想蛮力地对React组件进行新的渲染。

注意:在大多数情况下,您永远不要强迫React组件重新渲染。重新渲染应始终根据状态或道具更改进行。但是,我没有判断,在某些情况下,您可能确实需要强制React组件重新渲染,所以让我们开始吧!

强制反应组件渲染

有多种方法可以强制React组件渲染,但是它们本质上是相同的。第一个是using this.forceUpdate(),它跳过shouldComponentUpdate:

someMethod() {
   // Force a render without state change...
   this.forceUpdate();}

假设您的组件具有state,您还可以调用以下命令:

someMethod() {
   // Force a render with a simulated state change
   this.setState({ state: this.state });}

这个博客的目的不是要说明性的,所以我不会责骂使用这种蛮力方法的开发人员。同样,可能存在更好的,更“ React-y”的方法来正确地渲染组件,但是如果您迫切希望通过命令来渲染组件,则有许多方法可以使用React来实现。