我想在RTKQ查询完成后激发一些副作用.我认为最好的方法是在中间件中完成,但我不确定捕获此操作的正确方法是什么.
经过一些调试后,我最终得到了类似下面的东西,但对我来说它看起来有点老土.
const recreateTransferOnAppStartMiddleware: Middleware<unknown, RootState> =
storeApi => next => action => {
const isFulfilledAction = action.type === `api/executeQuery/fulfilled`;
const isGetUserAction = action.meta
&& action.meta.arg
&& action.meta.arg.endpointName === `getUser`;
if (isFulfilledAction && isGetUserAction)
recreateTransfers(storeApi);
return next(action);
};
这段代码最大的问题是,在判断endpointName
和action.type
时,它是基于字符串的.