react route组件之间的传值

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

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

 <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的方法将组件暴露  把状态放在组件本身,然后就可以调用了。

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容