javascript - React Native:从功能组件中导出功能
问题描述
问题:
我试图弄清楚如何从功能组件“ContractHandler”中导出一个名为“addPostCode”的函数。
我想在另一个名为“RentalDetailScreen”的功能组件中使用“addPostCode”,这样当我导航到下一页时,它将触发“addPostCode”并将“postCode”的状态存储在“ContractHandler”中。
这是“ContractHandler.js”:
import React, { useState } from 'react';
const ContractHandler = () => {
const [postCode, setPostCode] = useState();
const addPostCode = (data) => {
setPostCode(data)
console.log(postCode)
};
return(
<View>
<Text></Text>
</View>
)
}
export default ContractHandler;
这些是 RentalDetailScreen.js 的一部分,我在其中导航到下一页并希望触发“addPostCode”函数并将“postCode”值发送到“ContractHandler.js”。
这是导入:
import { addPostCode } from '../../database/ContractHandler';
这是带有“addPostCode”功能的导航。
<TouchableOpacity onPress={() => { navigation.navigate('SecurityDetail'); addPostCode(postCode); }}>
<View style={slider.buttonStyle}>
<Text style={slider.textStyle}>Neste</Text>
<Ionicons name='ios-arrow-forward'style={slider.iconStyle} />
</View>
</TouchableOpacity>
“postCode”只是一个从 TextInput 获得值的变量。
如果我不够清楚,请告诉我,我会尽力解释得更好:)
解决方案
有两种方法可以解决这个问题。您可以使用像 redux 这样的状态管理器,或者您必须将函数作为 props 从组件传递到组件。我个人会使用 redux,因为它使组件之间的状态共享变得更加简单。
推荐阅读
- bash - Jenkinsfile 中错误地转义了 sed 命令
- python - 为什么 python 的 exec 似乎在函数中不起作用?
- php - 如何将带有文本的字段更新到数据库中的表中?
- python - 如何使用 python-scrape h4 信息从网站上抓取表格
- html - Node.js:如何从 app.js 文件添加到我的应用程序的 index.html 文件
- javascript - 如何 .push 进入数组数组
- javascript - 为什么这段代码不返回数值?
- reactjs - 钩子的值不更新
- python - FTP下载冻结整个应用程序
- python - 遍历列表列表并附加到新列表