0
私は様々なタイプのブログ投稿を保持するレデューサーを持っています。私は必要なデータの一部をフェッチするためにselectを使用していますが、状態変更の再選択がすべてのセレクタを再計算するたびに私のコンポーネントでReactJs reselectは毎回すべてのセレクタを再計算します
initialstate = {
blogPosts: { byId: { 1: { id: 1, parent: null } }, ids: [1] },
commentPosts: { byId: { 2: { id: 2, parent: 1 } }, ids: [2] },
filter:{ selectedBlog: null }
};
const reducer = (state = initialstate, action) => {
if (action.type == 'filter') {
return object.assign(state, { filter: action.filter });
}
return state;
}
const Blogselector = state => state.posts.blogPosts
const Commentselector = state => state.posts.commentPosts
const getFilters = state => state.posts.filter;
私はブログの記事を表示しています、私はこの問題は、フィルターの変更は、状態の全投稿ブランチは、私が戻ってるとあまり変化したときであるfilter.selectedBlog = post.id
を設定するアクションを派遣します新しいコピー。だから私が書くセレクタは、フィルタが変わるたびにすべてを再計算することになります。
フィルタリングステートセレクタを作成するための標準的な方法は何ですか?