reactjs - 反应本机按钮单击重定向屏幕错误
问题描述
嗨,伙计们,我想在屏幕之间导航,所以在我的功能组件中我使用了 useNavigation ,但是在我的类组件中我不能使用它,因为它是一个反应钩子,我如何在没有 usenavigation 的情况下单击按钮时做到这一点
这是我的按钮组件
<TouchableOpacity style={{
backgroundColor: "#2a2e4a",
width: width - 40,
alignItems: 'center',
padding: 10,
borderRadius: 5,
margin: 20,
}}
>
<Text style={{
fontSize: 24,
fontWeight: "bold",
color: 'white'
}}>
PAGAR
</Text>
</TouchableOpacity>
这是我要实现重定向页面的功能
handlePayClick() {
}
解决方案
你可以像官方文档中所说的那样使用。
import { TouchableOpacity, Text } from 'react-native';
import React from 'react';
import { useNavigation } from '@react-navigation/native';
class MyBackButton extends React.Component {
handlePayClick() {
// Get it from props
const { navigation } = this.props;
navigation.navigate('YourScreenName');
}
render() {
return (
<TouchableOpacity
style={{
backgroundColor: '#2a2e4a',
width: 40,
alignItems: 'center',
padding: 10,
borderRadius: 5,
margin: 20,
}}>
<Text
style={{
fontSize: 24,
fontWeight: 'bold',
color: 'white',
}}>
PAGAR
</Text>
</TouchableOpacity>
);
}
}
// Wrap and export
export default function (props) {
const navigation = useNavigation();
return <MyBackButton {...props} navigation={navigation} />;
}
推荐阅读
- android - 无法在应用程序 gradle 文件中引用 BuildConfig - Android Studio
- perl - 附加文件间歇性失败
- c# - 如何从必须保留在主线程上的方法统一调用异步方法
- c++ - 是否允许编译器优化掉局部 volatile 变量?
- c# - 当焦点位于单选按钮或复选框上时按“c”时表单关闭
- node.js - 嵌套对象数组更新mongodb
- java - 反转 int 数组,但结果只完成了一半
- c# - 启用 TLS1.2 后 Asp.net 发送邮件失败
- rest - Spring Security 为两个不同的 url 配置两个不同的身份验证
- java - 从 Java jar 调用时,Jython 代码抛出 ImportError