首页 > 解决方案 > 来自子组件的 React Native Navigation

问题描述

我正在尝试在屏幕之间实现简单的导航,但出现此错误:

Undefined is not an object 'this.props.navigate'

AppNavigator.js

let AppNavigator = createStackNavigator({
  Signup: 
  { screen: SignupScreen, 
    navigationOptions: {
      header: null
    }

  },
  Login: { screen: LoginScreen,
    navigationOptions: {
      header: null
    } 
  },
},{
  initialRouteName: "Signup"
});

SignupScreen.js

<View>
 <SignupForm/>
</View>

SignupForm.js

const { navigate } = this.props.navigation;
<Text onPress={() =>
       navigate('Login')
}>
 ¿Allready have an account? Sign in
</Text>

我想问题是在子组件案例中还有一些额外的事情要做。请帮忙。

标签: reactjsreact-nativereact-navigationreact-native-navigation

解决方案


你应该传递navigationSignupForm. 在以下 2 个解决方案中选择 1 个

1.

<View>
 <SignupForm navigation={this.props.navigation} />
</View>

或者

  1. 在 SignupForm.js 中
import { withNavigation } from 'react-navigation';

export default withNavigation(SignupForm);


推荐阅读