使用Redux Toolkit分派操作需要两个参数
使用Redux Toolkit,我尝试在没有事件上下文等的情况下分派操作,因此我得到以下错误: 错误TS2554:应为2个参数,但得到1个。未提供“操作”的参数 代码如下:使用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
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;
},
},
});