React with Redux をストアとして使用しています。また、react-redux ライブラリを使用して 2 つを統合しています。私のストアには 2 つのデータ セットが含まれています。
- タスク { ID、名前、担当者 ID }
- ユーザー { ID、名前 }
私は(react-reduxを使用して)TaskListComponentを持っていますconnect
-sを使用して私のストアに:
@connect(state => {
tasks: state.tasks,
users: state.users
})
リストにはタスク名またはユーザー名を検索できるフィルターがあるため、両方が必要です。コンポーネントは「ユーザー対応」である必要があります。
このコンポーネントは、タスク名と割り当てられたユーザーの名前を表示する TaskItemComponent という別のコンポーネントを一覧表示します。
タスクの割り当てられたユーザーを解決するための最善の方法を決定するのに苦労しています。
React のガイドラインによると、Item コンポーネントは Task を prop として受け取り、render 関数で User 自体を解決する必要があります。ただし、これにはコンポーネントがストア対応である必要があり、react-redux ライブラリを使用すると、コンポーネントがストアにアクセスせずにストアにアクセスできるように設計されていないよう
connect
です。または、リスト内の User を解決し、それをタスクとともに Item コンポーネントに渡すこともできます
<TaskItemComponent task={task} assignee={resolveTaskAssignee(task)} />
。これには、アイテムを「ダム」に保つという利点があり、ストアの変更をリッスンする必要がない (またはストアについて知る必要がない) ことを意味します。
アドバイスをいただければ幸いです。