[英]While changing one state in React both states are getting changed
[英]How React Virtual DOM works when I set both the changed states and the unchanged states?
React Virtual DOM如何區分舊的內存DOM和新的內存DOM? 具體來說,我只設置更改后的狀態與設置更改后的狀態和未更改的狀態之間有什么區別嗎? Set Object和Number之間有什么區別嗎?
例如:當前狀態為{name: 'Eric', id: '1234567890', others: {other1: 1, other2: 2}}
。 差異結果this.setState({name: 'Tiger'})
與差異結果this.setState({name: 'Tiger', id: '1234567890', others: {other1: 1, other2: 2}})
?
默認情況下,無論數據是否已更改,React都會在對setState
所有調用上觸發重新渲染(請參見setState
docs ),因此我希望在您描述的情況下它是相同的。
如果需要特定的行為,則可以使用shouldComponentUpdate
覆蓋它的行為。
這對於它使用的內部差異的實際內容意味着什么是另一個故事-我希望它們是相同的,但是依賴於任何這種行為的細節感覺是一個壞主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.