react route组件之间的传值

2018-05-24  本文已影响0人  别闹__

今天碰到一个问题 路由组件之间的传值

正常的组件 父传子 子传父 都很简单

 <Nav UserInfo={this.state.userInfo}  />   
//直接在nav 组件种用 this.props.userInfo 就可以获取到父组件的值

但是在route 组件 这样是不行的

 <Route exact path="/" component={Banner} UserInfo={this.state.userInfo}   />
//banner 组件内是拿不到这个this.props.userInfo,  报错

才发现在Banner 组件上面还包着一层route 组件
然后找到了这样的解决方案

<Route exact path="/space/:id" render={(props)=><Space {...props} getUserInfo={this.getUserInfo}/>}  />
//写一个render的方法将组件暴露  把状态放在组件本身,然后就可以调用了。

事实是可以用的,但我是个小弱鸡,并不知道是不是一个好的办法,欢迎大神指点。

上一篇 下一篇

猜你喜欢

热点阅读