作用于多个商店的动作
Posted
技术标签:
【中文标题】作用于多个商店的动作【英文标题】:Action acting on multiple stores 【发布时间】:2016-06-09 21:28:53 【问题描述】:我有一个动作需要在它自己的存储和配置存储中传输数据。我需要这个,因为添加的数据不同,而且清除的方式也不同。
我想知道在这种情况下使用组合减速器是否会更好?还是对多个商店进行操作是可以接受的解决方案?
import PAGE_CHANGE_TITLE from 'actions/types/page.types';
import PROJECT_SELECTED from 'actions/types/projects.types';
const initialState =
pages:
last: ,
current: ,
last5: [],
,
project: localStorage.getItem('project') || ,
;
export function configs(state = initialState, action)
switch (action.type)
case PAGE_CHANGE_TITLE:
const last5 = [...state.pages.last5];
last5.unshift(action.data);
if (last5.length > 5)
last5.pop();
return
...state,
pages:
last:
...state.pages.current,
,
current:
...action.data,
,
last5: last5,
,
;
case PROJECT_SELECTED:
return
...state,
project:
...action.data,
,
;
default:
return state;
【问题讨论】:
【参考方案1】:使用 reducer 组合,无论是使用 combineReducers()
还是一些手动方法。 different reducers handling the same action 很常见。
在 Redux 中,we almost never suggest you to use multiple stores。
【讨论】:
以上是关于作用于多个商店的动作的主要内容,如果未能解决你的问题,请参考以下文章