發(fā)布于:2021-02-12 00:00:56
0
660
0
React組件的優(yōu)點在于,它們會根據(jù)state或中的更改自動進行渲染和更新props。只需從任何地方更新狀態(tài),然后您的UI元素就會突然更新-太棒了!但是,在某些情況下,您可能只想蠻力地對React組件進行新的渲染。
注意:在大多數(shù)情況下,您永遠不要強迫React組件重新渲染。重新渲染應(yīng)始終根據(jù)狀態(tài)或道具更改進行。但是,我沒有判斷,在某些情況下,您可能確實需要強制React組件重新渲染,所以讓我們開始吧!
強制反應(yīng)組件渲染
有多種方法可以強制React組件渲染,但是它們本質(zhì)上是相同的。第一個是using this.forceUpdate(),它跳過shouldComponentUpdate:
someMethod() {
// Force a render without state change...
this.forceUpdate();}
假設(shè)您的組件具有state,您還可以調(diào)用以下命令:
someMethod() {
// Force a render with a simulated state change
this.setState({ state: this.state });}
這個博客的目的不是要說明性的,所以我不會責(zé)罵使用這種蠻力方法的開發(fā)人員。同樣,可能存在更好的,更“ React-y”的方法來正確地渲染組件,但是如果您迫切希望通過命令來渲染組件,則有許多方法可以使用React來實現(xiàn)。