簡體   English   中英

反應:將整個狀態傳遞給另一個組件是否有意義?

[英]React: Does it make sense to pass the whole state to another component?

我正在研究一個中等大小的應用程序,大約20k行代碼分布在20個組件中。 應用程序的整個狀態涵蓋200多個屬性,並且為了更快,我將整個狀態傳遞給子組件來構建應用程序。 現在,我擔心頁面的速度。

我想要簡短易讀的組件。 如果我決定傳遞單個屬性,則我將擁有一些具有50個或更多屬性的組件。 這樣做以提高速度是否有意義?

謝謝您的幫助

從模式的角度來看,使用全局狀態管理(如redux)在組件之間共享狀態要比將狀態傳遞給子級要干凈得多。 在其他一些情況下,解決方案甚至更簡單,並且仍然不需要通過狀態。

React僅會渲染自上次渲染以來所做的更改,如果未修改部分子元素,則不會將它們重新渲染到DOM。

例如:

  <Content
        accounts={this.state.accounts}
        showBalance={this.state.showBalance}
        withdraw={this.state.withdraw}
        deposit={this.state.deposit}
        current={this.state.current}
        depositAmount={this.state.depositAmount}
        handleDeposit={this.state.handleDeposit}
        handleRm={this.state.handleRm}
        amounts={this.state.amounts}
        getWithdraw={this.state.getWithdraw} 
  />

可以替換為

<Content {...this.state} />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM