我已经成功发送了一个运行良好的值,但现在我想发送多个值,我无法发送.

-FilterSlice:

const initialState = {
    searchTerm: "",
    category: "all",
};
...

JK查询:

getRecipes: builder.query({
            query: (filter) => ({
                url: "/api/recipes",
                params: { filter },
            }),
            providesTags: ["Recipes"],
        }),

在我的组件中,我有:

const filter = useSelector((state) => state.filter);
console.log(filter); // {searchTerm: '', category: 'all'}

所以为了发送这个我try 了:

const {
        data: recipes,
        error,
        isLoading,
    } = useGetRecipesQuery({
        searchTerm: filter.searchTerm,
        category: filter.category,
    });

... 
= useGetRecipesQuery({
        ...filter
    });

= useGetRecipesQuery(filter);

但无论我try 什么,在高速公路上当我这样做时:

console.log(req.query.filter.searchTerm, req.query.filter.category);

我得到:undefined undefined

如何将这些值转化为req

推荐答案

我怀疑filter对象正在请求对象中进行字符串化.您可以拉平正在发送的参数,以便它们作为单独的搜索参数传递,例如"/api/recipes?searchTerm=&categ或y=all".

getRecipes: builder.query({
  query: (filter) => ({
    url: "/api/recipes",
    params: filter, // { searchTerm: '', categ或y: 'all' }
  }),
  providesTags: ["Recipes"],
}),

getRecipes: builder.query({
  query: (filter) => ({
    url: "/api/recipes",
    params: { ...filter }, // { searchTerm: '', categ或y: 'all' }
  }),
  providesTags: ["Recipes"],
}),

或 be m或e explicit about what is passed:

getRecipes: builder.query({
  query: (filter) => ({
    url: "/api/recipes",
    params: {
      searchTerm: filter.searchTerm,
      categ或y: filter.categ或y,
    }, // { searchTerm: '', categ或y: 'all' }
  }),
  providesTags: ["Recipes"],
}),

在后台,应该直接访问参数:

console.log(req.query.searchTerm, req.query.categ或y);

Reactjs相关问答推荐

如何使用React Router创建响应式主详细信息应用程序?

客户端组件中服务器组件的两难境地

使用Reaction钩子窗体验证可选字段

生成Reaction Vite应用程序的停靠容器时无法识别环境变量

不同步渲染

Redux工具包-useSelector如何通过Reducer引用InitialState?

左边框不在图表中显示

根据处于react 状态的数组的名称键,将新对象添加到嵌套的对象数组中

StrictMode+SetInterval=双重渲染(即使使用useEffect清理)

useEffect firebase 清理功能如何工作?

通过createRoot创建的React元素无法调用Provider值

MERN,将动态列表中的元素插入数组

在 React 中将 MUI 样式外包到单独的文件中?

useEffect内部的RETURN语句在首次按钮点击事件中似乎无效的原因是什么?

React - 如何重定向页面以显示数据修改?

无法在react 中向表中添加行

如何防止开发人员使用 ESLint 在 React 项目中使用特定的钩子?

我收到Uncaught TypeError: props.handleSelect is not a function

react-markdown 不渲染 Markdown

在 Reactjs 中状态发生变化时渲染一个新组件而不替换旧组件