我創建了一個包含ReactJS的元素,並將它添加到div
容器中,然後使用jQuery.remove()
刪除了相同的元素。Unmounting ReactJS元素
我需要卸載用React創建的節點嗎?
任何幫助將不勝感激!
我創建了一個包含ReactJS的元素,並將它添加到div
容器中,然後使用jQuery.remove()
刪除了相同的元素。Unmounting ReactJS元素
我需要卸載用React創建的節點嗎?
任何幫助將不勝感激!
是的,你應該這樣做。您可以通過刪除元素
React.unmountComponentAtNode(document.getElementById('divsId'));
其中您正在刪除元素的div必須是您原來附加到的元素。
干擾DOM會導致不必要的重新繪製和重繪,這是昂貴的過程。最好的方法是設置一個標誌,像這樣:
getInitialState() {
isVisible: false
}
toggleVisiblity() {
var {isVisible} = this.state
this.setState({isVisible: !isVisible})
}
render() {
if(isVisible)
var display = <h2> Your content </h2>
return(
<button onClick={this.toggleVisibility}> Click here </button>
{display}
)
}
當ISVISIBLE是假的,自動做出反應,並卸載當它是真的,它安裝。這是一個很好的做法,甚至可以添加動畫。
只是出於好奇,如果你不這樣做會發生什麼? –
我想,但如果我錯了,不要殺了我 - 如果你沒有卸載它,元素會不斷接收狀態更新的更新,這會降低頁面性能。 @andrerpena – baao