投稿のリストを表示する Redux アプリケーションがあります。状態は多かれ少なかれ次のとおりです。
{
posts: [
{id: 1, title: 'My Post'},
{id: 2, title: 'Also this one'},
{id: 3, title: 'Other Post'}
],
visible_post_ids: [1, 2]
}
に追加するいくつかの投稿をロードするたびにposts
、 のコンテンツを置き換えvisible_post_ids
ます。
これは、投稿をロードするための私のアクション作成者です:
function loadPosts (filters) {
return function (dispatch, getState) {
return fetch(`/posts.json?filters=${filters}`)
.then((response) => response.json())
.then((posts) => {
dispatch(postsLoaded(posts)) // Will update `posts`
const postIds = posts.map((post) => post.id)
dispatch(updateVisiblePosts(postIds)) // Will update `visible_post_ids`
})
}
}
私の質問は次のとおりです。サンクから 2 つ (またはそれ以上) のイベントをディスパッチするのは慣用ですか? それとも、1つだけディスパッチして、さまざまなリデューサーで処理する必要がありますか?