我是新来的本地反应,我想知道为什么我得到这样的错误undefined不是一个对象。我试图在login.js按钮上添加第二个屏幕
但我无法启动应用程序因为undefined不是指向此处的对象const {navigate} = props.navigation;
谢谢你们
这是我的代码
const login = (props) => {
const { navigate } = props.navigation;
return (
<View style={styles.container}>
<View style={styles.img}>
<Image source={require('./download.png')} />
</View>
<View style={styles.but}>
<Button
onPress={() => navigate ('QR')}
title="Sign in"
color="#2f4f4f"
/>
</View>
</View>
);
}
login.navigationOptions = {
title: 'Login',
};
export default login
这是我的index.android.js
export default class Task extends Component {
render() {
const { navigation} = this.props;
return (
<Login navigation={navigation }/>
)
}
}
const SimpleApp = StackNavigator({
Home: {screen: Login},
SecondScreen: {screen: QR}
});
答案 0 :(得分:0)
我认为这个问题是由于'index.android.js'中错误使用导航器引起的。
尝试更改'index.android.js',如下所示:
export default class Task extends Component {
render() {
return (
<SimpleApp />
)
}
}
const SimpleApp = StackNavigator({
Home: {screen: Login},
SecondScreen: {screen: QR}
});
AppRegistry.registerComponent(yourAppName, () => Task);
希望它有所帮助。