ReactNative——问题:undefined is not an object (evaluating _this2.props.navigation.navigate)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28484355/article/details/81298311

在使用 this.props.navigation.navigate('home') 执行页面跳转动作时,红屏报错:

undefined is not an object (evaluating _this2.props.navigation.navigate)

这个错误的原因是:在子组件中执行跳转动作,但跳转动作调用方法navigate并没有传递给子组件。

解决办法:父组件将navigate方法传递给子组件,子组件拿到后执行跳转动作。

例如:

export default class MainPage extends Component {
    render() {
        return (
            <View>
                <TopView navigate={this.props.navigation.navigate}/>             
            </View>
        );
    }
}
class TopView extends Component{
    render(){
        return (
            <View>
                <Button onPress={()=>{this.props.navigate('...');}}  />
            </View>
        );
    }
}

猜你喜欢

转载自blog.csdn.net/qq_28484355/article/details/81298311
今日推荐