【发布时间】:2020-05-30 06:40:02
【问题描述】:
问题:
我试图弄清楚如何从功能组件“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 中获得值的变量。
如果我不够清楚,请告诉我,我会尽力解释得更好:)
【问题讨论】:
-
您可以在这样导航时传递您的数据:
navigation.navigate('screenX',{data})然后在componentWillMount中触发您的函数,当有data时,您可以在@ 之前使用export关键字导出组件987654328@,然后你可以像这样在任何地方导入它:import {myFunction} from 'location'。如果你使用 react 钩子,componentWillMount等于:useEffect(()=>{//your statemnets},[]);。
标签: javascript react-native react-hooks react-functional-component