Javascript 反应导航及;Redux状态管理代码复制

Javascript 反应导航及;Redux状态管理代码复制,javascript,reactjs,react-native,redux,react-navigation,Javascript,Reactjs,React Native,Redux,React Navigation,这是一个很难总结的问题,所以我会尽最大努力做到简洁。我正在用React Native构建一个应用程序。应用程序有3个选项卡,每个选项卡都有自己的堆栈(反应导航)。我使用Redux来构建项目,主要是因为调试器对跟踪操作和状态非常有用。客户要求在三个选项卡之间重复使用类似的屏幕。用户配置文件(屏幕)导航到项目列表(屏幕),选择一个项目并将您带到项目描述(屏幕),您可以选择创建该项目的用户并将您带回到其配置文件(屏幕)。(还有几个屏幕完成了这个“循环”,但我正试图将问题细化到其核心) 

客户机要求每

这是一个很难总结的问题,所以我会尽最大努力做到简洁。我正在用React Native构建一个应用程序。应用程序有3个选项卡,每个选项卡都有自己的堆栈(反应导航)。我使用Redux来构建项目,主要是因为调试器对跟踪操作和状态非常有用。客户要求在三个选项卡之间重复使用类似的屏幕。用户配置文件(屏幕)导航到项目列表(屏幕),选择一个项目并将您带到项目描述(屏幕),您可以选择创建该项目的用户并将您带回到其配置文件(屏幕)。(还有几个屏幕完成了这个“循环”,但我正试图将问题细化到其核心)




客户机要求每个选项卡都能够调出单独的用户配置文件、列表和描述页面。我的解决方案是每个选项卡都有自己的状态。这应该是直截了当的。这些操作的逻辑保持不变,以提取用户的配置文件和各种不同的项目列表。打开“用户配置文件”页面会对几个不同的列表进行几个不同的数据库调用。总的来说,我觉得我复制了太多的代码。我基本上需要调用1个操作来“获取颜色为蓝色的项目列表”。这个操作可以对每个选项卡重复使用,但只会分派一个类型和负载来更新该选项卡中的状态。这个问题会在应用程序中的几个不同状态中重复出现,因此我试图以一种简洁的方式最好地理解如何解决这个问题。任何建议都将不胜感激。如果有问题,我也很乐意进一步解释。

您不应该重复redux逻辑。选择器、操作等不应取决于调用它们的选项卡。UI和导航状态(即当前正在查看的配置文件)应存储在redux之外。“getProfile(id)”应该是通用的。