NSj*_*nas 4 typescript jestjs redux
我有一个正在通过的减速器测试,但最后抛出了这个奇怪的错误:
console.error node_modules/redux/lib/utils/warning.js:14
No reducer provided for key "newProducts"
Run Code Online (Sandbox Code Playgroud)
src/reducer/index.ts
import newLineItemReducer from "./newLineItemReducer";
import renewedLineItemReducer from "./renewedLineItemReducer";
export interface LineItemState{
renewedProducts: LineItem[]
newProducts: LineItem[]
}
//used by both reducers
export interface LineItem{
...
}
// used by both "new" and "renewed" slice reducers
export function sharedFunction1() {
...
}
export default combineReducers<LineItemState>({
renewedProducts: renewedLineItemReducer,
newProducts: newLineItemReducer
});
Run Code Online (Sandbox Code Playgroud)
src/reducer/newLineItemReducer.ts
import {LineItem, sharedFunction1 } from "./";
type Action = ...;
const newLineItemReducer =
(state: LineItem[] = [], action: Action): LineItem[] => {
switch (action.type) {
case ...:
sharedFunction1(state, action.foo);
}
}
export default newLineItemReducer;
Run Code Online (Sandbox Code Playgroud)
测试/newLineItemReducer.spec.ts
import newLineItemReducer from "@src/reducers/newLineItemReducer";
test("foo", () => {
let state = //
let action = //
const updatedState = newLineItemReducer(state, action);
...
});
Run Code Online (Sandbox Code Playgroud)
奇怪的是,没有代码实际从索引调用根减速器。我的测试是直接调用切片“newLineItemReducer”。似乎只是导入共享接口和案例函数的行为reducer/index.ts导致了问题(如果我删除combineReducer导出,则不会出现错误)?
| 归档时间: |
|
| 查看次数: |
3916 次 |
| 最近记录: |