目前,当用户登录时,我会在需要用户状态的每个组件中订阅我的 Redux Store 中的用户状态。我想在多个地方访问用户状态,例如:我的应用程序中的侧边栏 - 获取个人资料图片、用户名或 ID需要用户 ID 从数据库中检索数据的服务如果我的用户状态是可观察的,我应该在每个需要知道用户 ID 的组件和服务中订阅它还是只在一个地方订阅?
1 回答
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
答案有几点:
您不需要订阅整个状态。您需要使用 selector 订阅商店的特定“切片” createSelector
。您可以在任何地方订阅它。
但是......关于良好建筑的几句话。将组件分为两类:“智能”和“哑”是一种很好的做法。
“智能” - 是负责数据解析并通过输入将其传递给子级的容器。在此处订阅状态更改。
“哑”组件 - 是您的应用程序中更细化的部分。他们应该通过输入获取数据并通过输出发出事件。并且里面只包含一些特定的逻辑。
这样,拥有良好的应用程序结构并在不同部分之间划分职责会容易得多。
添加回答
举报
0/150
提交
取消