【发布时间】:2020-05-07 00:56:08
【问题描述】:
我正在处理这个登录页面,我必须在此文本上使用 TouchableOpacity“已经有一个帐户?请改为登录!”将我发送到 singin 屏幕,但由于某种原因它无法正常工作想知道 Expo 上的 TouchableOpacity 是否有问题,或者我错过了某种逻辑错误。
这是我使用的代码:
来自我的注册屏幕:
return (
<View style={styles.container}>
<NavigationEvents onWillBlur={clearErrorMessage} />
<AuthForm
headerText="Sign Up for Tracker"
errorMessage={state.errorMessage}
submitButtonText="Sign Up"
onSubmit={signup}
/>
<NavLink
routeName="Signin"
text="Already have an account? Sign in instead!"
/>
</View>
);
来自 Navlink 组件:
return (
<>
<TouchableOpacity onPress={() => navigation.navigate(routeName)}>
<Spacer>
<Text style={styles.link}>{text}</Text>
</Spacer>
</TouchableOpacity>
<Button
title="go to sing in"
onPress={() => {
navigation.navigate("Singin");
}}
/>
</>
);
【问题讨论】:
-
大括号是不同的。在您的 touchableOpacity 上,尝试像使用按钮一样包装您的
navigation.navigate(routeName)。我不知道它是否会起作用,但我在这里看不到任何问题,除非您的routeName变量未定义或其他什么。
标签: javascript android ios reactjs react-native