reactjs - 如何将数据从 FlatList 访问到要在函数中使用的父组件
问题描述
我正在尝试从作为平面列表的子组件中访问code
andname
值并访问父组件中的选择数据:
我的 flatList 如下,它包含一个子组件,它将在其上呈现项目。但是,但是我不确定,或者我使用了错误的方法
const CustomerView = ({ code, name, email, balance, buttonPress }: any) => {
return (
<View style={styles.body}>
<TouchableOpacity onPress={buttonPress}>
<Text>Code: {code}</Text>
<Text>Name: {name}</Text>
<Text>E-Mail: {email}</Text>
<Text>Balance: {balance}</Text>
</TouchableOpacity>
</View>
);
};
下面是我的 flatList 组件,它将在数据通过时呈现上述组件
const CustomerFlatList = ({
customerData,
onPressSelectCustomer,
}: any) => {
return (
<View style={styles.body}>
<FlatList
data={customerData}
keyExtractor={(customerData) => customerData.code.toString()}
//I need to access code and name in the parent component
renderItem={({ item: { code, name, email, balance } }) => {
return (
<View>
<CustomerView
code={code}
name={name}
email={email}
balance={balance}
buttonPress={onPressSelectCustomer}
/>
</View>
);
}}
/>
</View>
);
};
还有我的 home 组件,它应该被code, name
传递以触发一个事件,其中数据正在传递
const SelectCustomerScreen = ({navigation}) => {
const customers = useSelector((state: RootStateOrAny) => state.customers);
const getCustomerDetails = (code, name) => {
//navigation.navigate("orderScreen");
console.log(code, name)
}
return (
<View style={{ flex: 1 }}>
<CustomerFlatList
customerData={customers}
doc_type={documentType}
invoiceScreen={invoiceScreen}
quotationScreen={quotationScreen}
onPressSelectCustomer={getCustomerDetails}
/>
</View>
);
};
解决方案
推荐阅读
- swiftui - SwiftUI:没有奇怪的解决方法,@State 属性不会更新
- python - python Selenium --headless 参数触发网页端的安全特性
- android - 不确定 react-native start 命令是否正常工作
- django - Django:当令牌存储在 HttpOnly cookie 中时,如何更新 SimpleJWT 访问令牌?
- neo4j - Neo4j Cypher 从同一节点查询多个关系
- python - 如何保存上面标题的无花果?
- python - 如何用python中的特定值替换列的值?
- git - 如何检查确切的 Windows git 凭据管理器有效?
- python - 合并数据框并获得额外的行。(蟒蛇/熊猫)
- linux-kernel - 将 Linux DMA 分配限制在特定范围内