使用Redux Toolkit分派操作需要两个参数

使用Redux Toolkit分派操作需要两个参数,redux,redux-toolkit,Redux,Redux Toolkit,使用Redux Toolkit,我尝试在没有事件上下文等的情况下分派操作,因此我得到以下错误: 错误TS2554:应为2个参数,但得到1个。未提供“操作”的参数 代码如下: const App = () => { const dispatch = useDispatch(); useEffect(() => { (async () => { const result = await fetchConfig(); dispatch(setC

使用Redux Toolkit,我尝试在没有事件上下文等的情况下分派操作,因此我得到以下错误:

错误TS2554:应为2个参数,但得到1个。未提供“操作”的参数

代码如下:

const App = () => {
  const dispatch = useDispatch();
  useEffect(() => {
    (async () => {
      const result = await fetchConfig();
      dispatch(setConfig({ ConfigReducerState: result })); // ---> Error is here <---
    })();
  }, [dispatch]);
};

通常我会给action creator函数一个参数——表示有效负载的对象,无需引用状态。但在这里我不能。我做错了什么?

我以前见过这种情况,每次都是。。。IntelliJ/WebStorm中的一个bug

请参阅和-本质上,WebStorm有自己的“快速类型脚本插值”,它不使用官方的
tsserver
进行类型检查,而是一种自煮的东西,它仅根据具有相似名称的东西猜测类型-并且经常出错

如果我正确理解了他们的系统,您应该能够在按住
Ctrl
的同时将鼠标悬停在上方,从而看到正确的类型


最后,除了切换到不随机猜测但实际使用TypeScript评估TypeScript类型的IDE之外,我真的无法告诉您如何解决此问题。

尝试控制台记录调用的内容
setConfig({ConfigReducerState:result})
返回,它应该是一个具有
负载的对象,并且
类型也应该是:
dispatch(setConfig({server:'something',map:'something'))
不清楚错误来自何处。这是TypeScript错误还是JS运行时错误?需要有关完整错误消息的详细信息。@Alextrastro我无法记录它,因为代码没有运行。另外,我是否分别发送
ConfigReducerState
server
map
,也无关紧要。@markerikson I说得更清楚。谢谢,但我用的是VS代码。
export const configSlice = createSlice({
  name: 'config',
  initialState,
  reducers: {
    setConfig(state, action) {
      const { server, map } = action.payload;
      state.server = server;
      state.map = map;
    },
  },
});