我正在尝试在屏幕之间导航,但我不知道如何在第一个屏幕之后导航。这个问题也与类上的导航有关,因为所有示例仅显示常量内的 Prop 。
文件:index.android.js
const AppNative = props => {
return <AppScreen navigation={props.navigation} />;
};
const MyApp = DrawerNavigator( {
Home: { screen: AppNative },
Register: { screen: Register },
});
AppRegistry.registerComponent("AppNative", () => MyApp);
文件:App.js
const AppScreen = props => {
const { navigate } = props.navigation;
return (
<View>
<Button
navigation={props.navigation}
onPress={() => navigate("Register")}
title="Cadastrar com email"
/>
</View>
);
};
export default AppScreen;
文件:Register.js
class Register extends Component {
constructor(props) {
super(props);
}
render() {
const { navigate } = this.props.navigation;
//??????
const RegisterNav = DrawerNavigator({
Register: { screen: Register },
OtherScreen: { screen: OtherScreen },
});
return (
<View>
//??????
<Button onPress={() => navigate("OtherScreen")}>
Entrar
</Button>
</View>
);
}
}
export default Register;
当我点击 Register.js 文件中的按钮时没有任何反应
依赖项(package.json):
"dependencies": {
"apsl-react-native-button": "^3.1.0",
"react": "16.0.0-alpha.12",
"react-native": "^0.48.2",
"react-native-maps": "^0.16.2",
"react-navigation": "^1.0.0-beta.11"
},
最佳答案
您正在尝试在 RegisterNav
内部导航,但导航方法属于您的 MyApp
导航器。
如果您在同一个导航器中声明所有屏幕,它应该可以工作。
const MyApp = DrawerNavigator( {
Home: { screen: AppNative },
Register: { screen: Register },
OtherScreen: { screen: OtherScreen },
});
关于javascript - 注册后第二个类中的导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46268783/