如何在redux中使用选择器?

nue99wik  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(96)

当从按钮组件中单击时,我设置了id,然后将此id传递到Redux-Toolkit Query请求中,但id最初是null。我该怎么结账?

// id maybe null
const { id } = useSelector(userSelector)

const { data } = useGetUserQuery({ id });

也许 prop 在上面的水平。

k75qkfdt

k75qkfdt1#

如果我的理解是正确的,你真的只想对非空的id值发出查询请求,那么你可以使用skip参数或skipToken来等待,直到id是非空的,或者是真的。
参见Conditional Fetching

const { data } = useGetUserQuery({ id }, { skip: id !== null });

import { skipToken } from "@reduxjs/toolkit/query/react";

...

const { data } = useGetUserQuery(id !== null ? { id } : skipToken);

如果您不希望查询针对 * 任何 * falseyid值运行,例如:nullundefined""0等,那么上面可以简化一点。

const { data } = useGetUserQuery({ id }, { skip: !id });

const { data } = useGetUserQuery(id ? { id } : skipToken);

相关问题