使用 React 和 Redux 的身份验证流程结构

Structure for auth flow with React and Redux

我有一个 React/Redux 应用程序的工作授权流程,我正在使用 reselect and redux-saga 来处理状态选择和异步 login/register 功能。

我有一个一直用于测试的容器,登录、注册、注销都可以正常工作。但是,现在我正在尝试找出构建应用程序的 "right" 方法。

我的登录表单和注册表单是否应该是它们自己的容器,并内置所有功能?如果这样做,我会发现自己在重复某些操作和代码,例如 SET_AUTH 操作。

是不是"correct"复制代码,分离容器?还是我缺少其他方式?

我最终在我的根容器 (App.js) 中全局创建了我的身份验证容器和缩减器,然后只是从我的应用程序周围调度操作 - 因为 sagas 是全局的,所以它们始终可用,并且只需等待分派的操作。

为了管理每个容器的状态,我最终使用 reselect 从应用程序的各个部分获取状态切片。