当从按钮组件中单击时,我设置了id,然后将此id传递到Redux-Toolkit Query请求中,但id最初是null。我该怎么结账?
id
null
// id maybe null const { id } = useSelector(userSelector) const { data } = useGetUserQuery({ id });
也许 prop 在上面的水平。
k75qkfdt1#
如果我的理解是正确的,你真的只想对非空的id值发出查询请求,那么你可以使用skip参数或skipToken来等待,直到id是非空的,或者是真的。参见Conditional Fetching
skip
skipToken
const { data } = useGetUserQuery({ id }, { skip: id !== null });
或
import { skipToken } from "@reduxjs/toolkit/query/react"; ... const { data } = useGetUserQuery(id !== null ? { id } : skipToken);
如果您不希望查询针对 * 任何 * falseyid值运行,例如:null、undefined、""、0等,那么上面可以简化一点。
undefined
""
0
const { data } = useGetUserQuery({ id }, { skip: !id });
const { data } = useGetUserQuery(id ? { id } : skipToken);
1条答案
按热度按时间k75qkfdt1#
如果我的理解是正确的,你真的只想对非空的
id
值发出查询请求,那么你可以使用skip
参数或skipToken
来等待,直到id
是非空的,或者是真的。参见Conditional Fetching
或
如果您不希望查询针对 * 任何 * falsey
id
值运行,例如:null
、undefined
、""
、0
等,那么上面可以简化一点。或