我有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并且将创建一个循环。
有没有更好的方法来解决这个问题?
答案 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
是您的商店配置。