【发布时间】:2021-04-12 02:51:24
【问题描述】:
我正在创建一个使用 redux 存储用户添加的所有对象的应用程序。我有一个显示所有对象的主屏幕,用户可以从中导航到特定对象。在该屏幕上,他可以编辑它并从应用程序中删除它。 我在实现删除功能时遇到问题,我想调度操作并导航到主屏幕。目前,我的代码如下所示:
// that's how I get object from store in Plant component
const plant = useSelector((state) =>
state.plants.plants.find((plant) => plant.id === props.route.params.plantId));
// onPress deleteButton
props.navigation.goBack();
dispatch(deletePlant(plant.id));
// reducer
const updatedPlants = [...state.plants].filter((plant) => plant.id !== action.plantId);
return { ...state, plants: updatedPlants };
但问题是,我的应用在删除植物后崩溃,因为植物变量在植物屏幕上未定义。目前,我找到了一个解决方法,在渲染函数中,我检查植物变量是否未定义,如果是,我只返回空视图。
我觉得有更好的方法,你能帮我吗?
【问题讨论】:
-
// 尝试颠倒订单调度(deletePlant(plant.id)); props.navigation.goBack();
-
我试过这个,但我仍然收到来自植物组件的错误
标签: reactjs react-native react-redux react-navigation