在正在使用的包中动态添加reducer的选项

时间:2017-09-15 18:28:30

标签: reactjs react-redux

我有2个节点包A和B,A消耗B.我在A中使用import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHashMap; import java.util.List; import java.util.function.Supplier; import java.util.stream.Collectors; import static java.util.stream.Collectors.groupingBy; public class Main { public static void main(String[] args){ List<String> dataList = new ArrayList(); dataList.addAll(Arrays.asList("a", "z", "c", "b", "a")); System.out.println(dataList.stream().collect(groupingBy(w -> w, (Supplier<LinkedHashMap<String, Long>>) LinkedHashMap::new, Collectors.counting()))); } } {a=2, z=1, c=1, b=1} 定义商店。这只有A中的减速器。

我想在包B中添加一个新的reducer。有什么选择将它连接到商店?我一直在关注createStore。我想到的另一件事是将减速器从包B移到A但这意味着B必须消耗A并且将创建一个循环。

有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:2)

根据您的要求

    A-->
     store.jsx

    B-->
     reducer1.js
     reducer2.js

因此,在store.jsx中,您将从包B中import缩减 如

import reducer1 from "../B/reducer1";
import reducer2 from "../B/reducer2";
const rootReducer = combineReducers({
  reducer1,
 reducer12,
});
export const configureStore = (initialState) => {
 //your other store configuration
};

如果要在包B中添加任何更多的reducer,只需导入并将其添加到store.jsx文件即可。 其中store.jsx是您的商店配置。