繁体   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