我使用 React 和 Redux 作为我的商店。我也在使用 react-redux 库来集成两者。我的商店包含两组数据:
- 任务 { id,名称,assigneeId }
- 用户 { id, name }
我有一个 TaskListComponent (使用 react-redux)connect
-s 到我的商店,使用:
@connect(state => {
tasks: state.tasks,
users: state.users
})
我需要两者,因为列表有一个过滤器允许搜索我的任务名称或用户名 - 我的组件需要“用户感知”。
该组件列出了另一个名为 TaskItemComponent 的组件,它显示任务名称和分配用户的名称。
我正在努力决定解决任务分配用户的最佳方法。
React 指南告诉我,Item 组件应该将 Task 作为 prop,并在 render 函数中解析 User 本身。但是,这要求组件具有存储感知能力,并且使用 react-redux 库,它似乎并没有被设计为允许组件在不被
connect
-ed 访问存储的情况下访问它。或者我可以解析列表中的用户并将其与任务一起传递给 Item 组件,例如
<TaskItemComponent task={task} assignee={resolveTaskAssignee(task)} />
. 这样做的好处是让我的项目保持“哑”,并且意味着我不需要让它监听商店的变化(甚至不需要了解商店)。
任何意见,将不胜感激。