react native android使用react-native-tab-navigator来做底部导航tabbar(2)一个坑:navigator

邢博学
2023-12-01

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>
 类似资料: