首页 > 解决方案 > 为什么我应该在 React Route 中使用扩展运算符?

问题描述

所以我正在观看一个教程,其中教练在路线内使用 {...props} 。如果他已经传递了 user 和 getUser 道具,他为什么还要使用它?:

<Route exact path="/user/:login" render={props => (
   <User {...props} getUser={this.getUser} user={user} />
  )}
/>

顺便说一句,在传递这些道具的 User.js 中,他使用:this.props.getUser(this.props.match.params.login)。有没有可能与此有关?

标签: javascriptreactjs

解决方案


如果他已经传递了 user 和 getUser 道具,他为什么要使用它?

这样任何其他道具都会像,像foo和一样通过bar

在传递这些道具的 User.js 中,他使用:this.props.getUser(this.props.match.params.login)。有没有可能与此有关?

不,正如你所说,他明确地提供了那个道具,而不是通过传播。通过在传播后这样做,他确保使用他的显式版本(无论你是否将 a 传递getUser给容器的道具,它都不会被使用,因为他getUser会覆盖它;与 相同user)。


推荐阅读