react-native - 在 React Native 中将参数从功能组件传递到类组件
问题描述
我有功能组件,我在其中传递参数onPress
。下面是代码:
第 1 页
const onPress = (data) => {
navigation.goBack();
route.params.onPress(data);
};
我能够将它传递给一个功能组件,在那里我获取数据,并且能够更新我在功能组件中的状态。以下是功能组件的代码片段:
第2页
function gotoSearch() {
navigation.navigate('SearchScreen',{
onPress:(data)=>{
console.log("Location Selected",data);
updateStateVar({
...stateVar,
address_line_1: data.address_line1,
address_line_2: data.address_line2,
area: data.area,
city: data.city,
country: data.country,
pincode: data.postCode,
lat:data.lat,
lng:data.lng,
});
}
});
}
我有另一个组件,它是一个类组件,我尝试做同样的事情,但向我显示了错误。下面是类组件的代码片段:
第3页
gotoSearch = () => {
this.props.navigation.navigate('SearchScreen'), {
onPress: (data) => {
console.log("Location Selected",data);
}
}
}
错误:
cannot read property of 'onPress' of undefined
const onPress = (data) => {
navigation.goBack();
route.params.onPress(data);
^
};
解决方案
您将需要导出 onPress 功能
export const onPress = (data) => {
navigation.goBack();
route.params.onPress(data);
};
然后在你的类组件中使用它
gotoSearch = () => {
this.props.navigation.navigate('SearchScreen'), {
onPress: (data) => {
console.log("Location Selected",data);
}
}
如果您的函数存在于不同的文件中,然后首先导入它然后使用
import {onPress} from './file.js'
推荐阅读
- android - 使用 soong 的 AOSP 构建失败
- python - Python http requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
- python - 我无法在 python 3.7.7 中用 pygame 画一个圆圈
- python - 为什么值不设置为带有 loc 的熊猫数据框中的列
- angular - 仅从 algolia 获取 8 条记录
- python - 为什么在初始化新进程时出现 NameError?
- laravel - Spatie Laravel 权限 - 如何获取具有一个角色或另一个角色的用户
- httpclient - webClient 问题 - 在 ReactorClientHttpConnector 和 httpClient 之间
- javascript - 尝试从函数返回字符串值并将其保存到 mongoDB 不起作用
- javascript - 来自反应小部件的 DateTimePicker 打开焦点