预期有 0​​ 个参数的问题,但在 Redux Toolkit 中得到 1

2024-03-18

我有一个错误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(使用前将#替换为@)

预期有 0​​ 个参数的问题,但在 Redux Toolkit 中得到 1 的相关文章

随机推荐