我是React的新手,遇到了以下使用React Router的代码:

<Router>
  <NavLink to="/homepage">Homepage</NavLink>
  <Route path="/homepage" render={props =>
  (<Homepage {...props} pieceOfState={this.state.pieceOfState}/>)
}/>
</Router>


问题是传递到渲染“ render = {props => ...”中的道具是否代表路由器道具,例如对象匹配,位置和历史?

最佳答案

...props代表比赛,位置和历史记录。当您有额外的道具要传递时,使用此语法。在这种情况下,this.state.pieceOfState

docs


  渲染道具功能可以访问所有相同的路线道具
  (匹配,位置和历史记录)作为组件渲染道具。


您还可以通过以下方式分别传递所需的道具:

<Route path="/homepage" render={({ match }) =>
  (<Homepage match={match} pieceOfState={this.state.pieceOfState}/>)

关于javascript - 与React传递给render的prop混淆,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58006796/

10-16 21:22