【发布时间】:2022-08-06 19:44:29
【问题描述】:
我希望将成功存储在 Redux 状态中的 ID 值传递给 RTK 查询,以实现动态获取行为。
但是,当我通过状态对象时,我只收到一个不同长度的数组的部分响应(有时没有对象,有时两个,偶尔是整个响应)。
src/features/api/apiPayrollEntries.ts
// READ All Payroll Entries by Payroll ID
getAllPayrollEntriesByPayrollId: builder.query<PayrollEntry[], string>({
query: (payrollId) => `/payroll-entries/payroll/${payrollId}`,
providesTags: [\"PayrollEntry\"],
}),
PayrollEntries.tsx
const PayrollEntries: FC = () => {
const provisionedPayrollId: string = useAppSelector(
(state: any) => state.provisionedPayroll.id
);
const { data: dataPayrollPayrollEntries } =
useGetAllPayrollEntriesByPayrollIdQuery(provisionedPayrollId);
console.log(provisionedPayrollId);
// => \"ed7c6cc9-8835-4974-ac0d-4cf54e917898\"
console.log(dataPayrollPayrollEntries);
// => returns array of varying (0-all) results
// const { data: dataPayrollPayrollEntries } =
// useGetAllPayrollEntriesByPayrollIdQuery(
// \"ed7c6cc9-8835-4974-ac0d-4cf54e917898\"
// );
// => reliably returns all results
}
我直觉在从状态获取和调用/完成查询之间存在某种超时问题,但我找不到解决这个问题的模式。我还尝试实现useEffect() 以确保该州的 ID 值可用,但没有成功。
我已经查看了Constructing a Dynamic Base URL Using Redux State,但不确定这是否是正确的方法?感谢您对澄清我的理解的任何支持。提前致谢。
标签: javascript reactjs redux redux-toolkit rtk-query