navigator是用来实现界面跳转的,这个资料网上很多,就不多说了,但是我在TabNavigator的子页面里碰到一个大坑,发现无法在子页面中获取到navigator,用
this.props.navigator.push({name:"login"});
的方法来跳转,一直报错:undefined is not an object (evaluating ‘this.props.navigator.push’)
经过一番辛苦的goole,终于找到了解决方法,原来是要在那个字页面节点上添加 navigator={this.props.navigator} 这个, 如:
<TabNavigator.Item
selected={this.state.selectedTab === '首页'}
title="首页"
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require("/images/ic_home_normal.png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require("/images/ic_home_checked.png")} />}
onPress={() => this.setState({ selectedTab: '首页' })}>
<HomeComponent navigator={this.props.navigator}/>
</TabNavigator.Item>