發(fā)布于:2021-02-12 00:00:56
0
666
0
React組件的優(yōu)點(diǎn)在于,它們會(huì)根據(jù)state或中的更改自動(dòng)進(jìn)行渲染和更新props。只需從任何地方更新狀態(tài),然后您的UI元素就會(huì)突然更新-太棒了!但是,在某些情況下,您可能只想蠻力地對React組件進(jìn)行新的渲染。
注意:在大多數(shù)情況下,您永遠(yuǎn)不要強(qiáng)迫React組件重新渲染。重新渲染應(yīng)始終根據(jù)狀態(tài)或道具更改進(jìn)行。但是,我沒有判斷,在某些情況下,您可能確實(shí)需要強(qiáng)制React組件重新渲染,所以讓我們開始吧!
強(qiáng)制反應(yīng)組件渲染
有多種方法可以強(qiáng)制React組件渲染,但是它們本質(zhì)上是相同的。第一個(gè)是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 });}
這個(gè)博客的目的不是要說明性的,所以我不會(huì)責(zé)罵使用這種蠻力方法的開發(fā)人員。同樣,可能存在更好的,更“ React-y”的方法來正確地渲染組件,但是如果您迫切希望通過命令來渲染組件,則有許多方法可以使用React來實(shí)現(xiàn)。
作者介紹