【发布时间】:2021-05-14 08:52:44
【问题描述】:
我有一个PaymentMethodsScreen 屏幕。在这个屏幕上有一个FlatList,里面有PaymentCardItem 组件。 PaymentCardItem 中有一个复选框。当检查此复选框时,我想更新 selectedcardtoken PaymentMethodsScreen。但不幸的是,我不知道该怎么做。我试图传递道具,但我做错了。这是我的代码(没有传递道具)。
我怎样才能做到这一点?非常感谢您的帮助。
const PaymentCardItem = ({ family, association, bin_number, token, isSelected }) => (
<View>
<RadioCheckbox
selected={ isSelected }
onPress={ () => this.setSelectedCardToken(token) // Something wrong here }
/>
<Text>{family}, {association}</Text>
<Text>{bin_number}**********</Text>
</View>
);
const PaymentMethodsScreen = ({navigation}) => {
const {state} = useContext(AuthContext);
const [cardList, setCardList] = useState(null) // This stores card list data from API request
const [selectedCardToken, setSelectedCardToken] = useState('test token')
const renderItem = ({ item }) => (
<PaymentCardItem
bin_number={item.bin_number}
family={item.family}
association={item.association}
token={ item.token }
isSelected={ (selectedCardToken == item.token) }
/>
);
return (
<SafeAreaView>
<View>
<FlatList
data={cardList}
renderItem={renderItem}
keyExtractor={item => item.alias}
/>
</View>
</SafeAreaView>
);
};
【问题讨论】:
标签: reactjs react-native react-native-flatlist