正在处理这个登录页面,我必须在“已经有帐户?请登录!”文本上使用 TouchableOpacity将我发送到歌唱屏幕,由于某种原因它不起作用,所以很自然地我认为我的代码中有错误,经过几个小时的调试后,我想到了制作一个具有相同功能的简单按钮,它适用于 am想知道博览会上的 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");
}}
/>
</>
);
最佳答案
此 routeName
不是名称。您说您有想法制作一个具有相同功能的简单按钮并且它有效。
它之所以有效,是因为您将正确的routename
指定为“Singin”
所以你只需替换
<TouchableOpacity onPress={() => navigation.navigate(routeName)}>
与
<TouchableOpacity onPress={() => navigation.navigate("Singin")}>
应该可以工作。
关于javascript - TouchableOpacity 不适用于 native react 博览会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61648010/