我有一个人名单。单击一个按钮后,将进入“人员”屏幕,显示其数据,如下所示:
此“编辑”表单有效,因为我可以记录状态并查看更新的数据。 关闭“编辑”表单后,我将回到“人员”屏幕,但不会显示更新的数据。但是,当我单击返回到“人员”列表时,它确实显示了更新的数据。
单击“人员”列表中的“人员”,通过React Navigation传递“人员”数据,如下所示:
displayListOfPeople = () => {
const { people } = this.props
return Object.values(people).map(person => (
<ListItem
key={person.id}
title={person.name}
onPress={() =>
this.props.navigation.navigate('Person', {
person,
name: person.name
})
}
/>
))
}
然后我像这样显示Person数据:
render() {
const person = this.props.navigation.getParam('person')
const {
name,
date_entered,
notes,
location: {
city,
name: streetAddress,
postalCode,
region
}
} = person
return (
<View>
<Card containerStyle={{ padding: 10 }}>
<Text>Name: {name}</Text>
<Text>Date Entered: {dateAdded(date_entered)}</Text>
以此类推...
关闭模式会调用React Navigation的goBack()
,将用户带回“人”屏幕。
我的想法是,由于它是一种模式,因此更新的数据在将其关闭/提示为goBack()
时不会触发Person的重新渲染。我对如何实现在模式中编辑数据,关闭模式并在“人员”屏幕上查看更新的数据的目标感到困惑。
我正在使用Redux。请让我知道我还能提供什么其他信息或说明。