tabNavigator改变主题报错未定义的width

来源:2-8 TabNavigator精讲-3

慕仔3427096

2018-06-18

在render里面获取them的时候 老师的代码是这么写的 const { routes, index } = this.props.navigationState 但是我看this.props里面没有navigationState这个属性 所以我是这么写的const { routes, index } = this.props.navigation.state然后再去找里面的theme

但是这样写的就出现了下面的问题 这个在网上都找不到解决办法:

//img.mukewang.com/szimg/5b27a71900010d7906661185.jpg

写回答

1回答

CrazyCodeBoy

2018-06-19

新版本的tabNavigator的api有所变更,可以参考一下代码:

render() {
    const {routes, index} = this.props.navigation.state;
    const {theme} = routes[index].params;
    if (theme && theme.updateTime > this.theme.updateTime) {
        this.theme = theme;
    }
    /**
     * custom tabBarComponent
     * https://github.com/react-navigation/react-navigation/issues/4297
     */
    return (
        <BottomTabBar
            {...this.props}
            activeTintColor={this.theme.tintColor || this.props.activeTintColor}
        />
    );
}


0
1
慕仔3427096
非常感谢!
2018-06-19
共1条回复

React Native技术精讲与高质量上线App开发

一个真实的上线项目,一次完整的开发过程,全面掌握React Native技术

1577 学习 · 727 问题

查看课程