Quiero hacer una llamada a la API con algunos parámetros y usar los selectores para obtener esos valores en mis componentes. Obtengo datos en la implementación a continuación.
const { data, isLoading, isFetching, error } = useGetDomainsQuery({ search: search || '', status: status || '', page_number: pageNo, page_size: pageRow, });mientras que no obtengo datos en el selector
dispatch( api.endpoints.getDomains.initiate({ search: search || '', status: status || '', page_number: pageNo, page_size: pageRow, }), );Selector:-
export const selectDomainsResult = api.endpoints.getDomains.select(); const selectDomainsData = createSelector( selectDomainsResult, (domainsResult) => domainsResult.data, ); export const { selectAll: selectAllDomains, selectById: selectDomainById, selectIds: selectDomainIds, } = domainsAdapter.getSelectors( (state) => selectDomainsData(state) ?? initialState, );y usando mi selector así
const domains = useSelector(selectAllDomains);esta implementación siempre se desinicializa y devuelve usuarios de matriz vacíos: []
El selector que ha creado con api.endpoints.getDomains.select() le dará la entrada de caché para llamar a initiate() o initiate(undefined) pero no initiate(something) - para eso tendría que usar select(something) .