【问题标题】:What is the best practice in React Navigation to update a list of items after the item is altered?React Navigation 在项目更改后更新项目列表的最佳实践是什么?
【发布时间】:2021-05-22 13:32:33
【问题描述】:
这是场景:
我有一个带有两个选项卡的底部选项卡:操作和人员
一个动作总是属于一个人
在人员选项卡上,我可以查看、添加和编辑要执行的操作
如果我在堆栈 People > Person 中,我从中编辑操作,
如何仅更新操作列表中的操作行?最佳做法是什么?
如果可能的话最好不要使用redux,以便更好地利用react navigation的redux...
如果不够清楚请告诉我
【问题讨论】:
标签:
react-native
redux
react-navigation
react-navigation-v5
【解决方案1】:
查看一些示例代码可能会有所帮助,但一般来说,您希望将信息从“人员”屏幕一直移动到共同的父级,然后再返回到子级(操作屏幕/选项卡)。
这里有一些只有 1 个操作的伪代码,其中更改人屏上的操作最终会更新操作选项卡中的操作:
function Root({ }) {
const [action, setAction] = useState('initialAction')
return (
<View >
<PeopleTab setAction={setAction} action={action} />
<ActionTab setAction={setAction} action={action} />
</View>
);
}
function PeopleTab({ setAction, action }) {
return (
<View >
<PersonScreen setAction={setAction} action={action}/>
</View>
);
}
function PersonScreen({ setAction, action }) {
return (
<View >
// handle setting the action here with some onPress={() => setAction('new action'))
</View>
);
}
function ActionTab({ setAction, action }) {
return (
<View >
// Handle displaying the action here {action}
</View>
);
}