【发布时间】:2026-02-13 05:45:02
【问题描述】:
使用 Redux Toolkit,我试图在没有事件等上下文的情况下调度操作,所以我收到以下错误:
错误 TS2554:预期 2 个参数,但得到 1 个。未提供“操作”参数。
使用以下代码:
const App = () => {
const dispatch = useDispatch();
useEffect(() => {
(async () => {
const result = await fetchConfig();
dispatch(setConfig({ ConfigReducerState: result })); // ---> Error is here <---
})();
}, [dispatch]);
};
减速器:
export const configSlice = createSlice({
name: 'config',
initialState,
reducers: {
setConfig(state, action) {
const { server, map } = action.payload;
state.server = server;
state.map = map;
},
},
});
通常我给动作创建函数一个参数 - 表示有效负载的对象,不需要引用状态。但在这里我不能。我做错了什么?
【问题讨论】:
-
尝试控制台记录调用
setConfig({ ConfigReducerState: result })返回的内容,它应该是一个带有payload和type的对象 -
也不应该是:
dispatch(setConfig({ server: 'something', map: 'something' })); -
目前尚不清楚错误来自何处。这是 TypeScript 错误,还是 JS 运行时错误?需要有关完整错误消息的更多详细信息。
-
@alextrastero 我无法记录它,因为代码没有运行。另外,我是否分别发送
ConfigReducerState或server和map也没关系。 @markerikson 我说得更清楚了。
标签: redux redux-toolkit