[英]Props not getting passed to tabs
我有一个react-native应用程序,其中我使用React-Native-Router-Flux作为导航库,并且在将道具传递给子组件时遇到了问题。 在我的login.js
文件中,用户登录后, login.js
使用新的路由道具(登录的用户名)调用新的路由。 当使用堆栈视图时,这很好用,但对于制表符则不行,而props的值从未从其初始值更改。 我在下面列出了我的路线和登录文件:
*未设置的道具名为Auth
登录(为简洁起见,减少了):
.then( (data) => {
Actions.tabbar({Auth: this.state.username})
})
路线:
render() {
return (
/* Start Router */
<routes.Router>
{/* Start Root Stack */}
<routes.Scene key="root" headerMode = "none" hideNavBar={true} tabBarPosition="bottom" >
{/* Home Route as a stack */}
<routes.Scene key="Home Test" title="Home">
<routes.Scene key="Home Test" component={Home} title="Home" />
</routes.Scene>
{/* Signup Screen as a Stack */}
<routes.Scene key="SignupScreen" title="Signup Screen">
<routes.Scene key="SignupScreen" component={SignupScreen} title="SignupScreen" />
</routes.Scene>
{/* Start Tabs view */}
<routes.Scene key="tabbar" tabs={true} Auth = {null} tabBarStyle={{ backgroundColor: '#FFFFFF' }} >
{/* Live Feed Tab View */}
<routes.Scene key = "live" title = "live">
<routes.Scene key="LiveFeed" component={LiveFeed} title="LiveFeed" userLoggedIn = {null} />
</routes.Scene>
{/* User Directory Tab View */}
<routes.Scene key = "User Directory" title = "User Directory">
<routes.Scene key="UserDirectory" component={UserDirectory} title="UserDirectory" />
</routes.Scene>
{/* Messages Tab View */}
<routes.Scene key = "Messages" title = "Messages">
<routes.Scene key="Messages" component={Messages} title="Messages" userLoggedIn = {this.props.Auth} />
<routes.Scene key="Message" component={Message} title="Message" userLoggedIn = {null} ThreadRequested = {null} />
</routes.Scene>
{/* End Tabs View */}
</routes.Scene>
{/* End Root Stack */}
</routes.Scene>
{/* End Router */}
</routes.Router>
错误是我传递了prop的默认值,该默认值在渲染时被覆盖。 要解决此问题,只需删除值中的prop默认值,然后使用Action传递您的prop。 ,因此我从场景中删除了Auth
属性
解:
<routes.Scene key="tabbar" tabs={true} tabBarStyle={{ backgroundColor: '#FFFFFF' }} >
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.