我有一个错误Expected 0 arguments, but got 1.
在简单的 Redux Slice 文件中。
当我尝试调度时出现此错误。
App.tsx
useEffect(() => {
dispatch(getMovies({ query: "searchQuery", page: 1 }));
}, []);
切片.tsx
const movieSlice = createSlice({
name: "movie",
initialState,
reducers: {
getMovies(name) {
return name;
},
setMovies: (state, action: PayloadAction<Movie[]>) => {
state.moviesList = action.payload;
},
},
});
export const {
getMovies,
setMovies,
} = movieSlice.actions;
哪里有问题?在哪里声明 getMovies 可以接受对象作为参数?
Thanks
所有减速器函数都必须将当前状态作为其第一个参数,并且可以选择触发减速器的操作。此外,您的减速器函数需要返回新状态,而不仅仅是任何任意数据。
So your getNames
减速器将获得您试图获取名称的状态,您错过了操作(第二个参数),并且您没有返回新状态。
要像那里一样传递对象,您的减速器应该类似于:
getMovies(state, {payload: {query, page}) {
return {...state, moviesQuery: { query, page }};
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)