当将 props 传递给 React 组件时,我目前正在这样做:
<MyComponent
{...this.props}
foo=foo
bar=bar
/>
foo
和 bar
是我知道 MyComponent
需要的 Prop 。但是,在大多数情况下,MyComponent
中也包含需要来自更高组件的 props 的组件,因此我使用 {...this.props}
运算符将它们向前传递。我应该这样做,还是应该准确地列出 MyComponent
的子组件需要的 Prop ? 最佳答案
你应该使用像 Flux、Redux 或 Mobx 这样的状态管理器(我认为,根本没有使用过 Mobx)来解决在不需要它们的中间组件的情况下通过多个级别传递 Prop 的问题。
您应该只将完全需要的 Prop 传递给 child 。我在 github 上阅读了一篇关于这个的好文章,但找不到。
当您的应用程序增长时很难管理,这实际上是对 Es6 扩展语法运算符的滥用(即,它可以在短期内轻松传递 Prop ,但从长远来看,您仍然有问题,您只是在掩盖它)。不确定它是否会减慢应用程序的速度,但如果 prop 发生了不必要的更改,它将再次重新渲染所有子组件。
例如,在使用 Redux 时,您可以将组件“连接”到全局状态(想想数据库)并将它们作为 Prop 传递给您想要的任何组件,并绕过必须将 Prop 转发给子组件的组件。
一开始很难学习,但 1000% 值得。
关于reactjs - 使用 React props spread operator 会显着减慢我的应用程序吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41192410/