Al intentar ejecutar esta acción, y mientras obtengo los datos correctos en respuesta en el backend, la variable data vuelve indefinida. También recibo un error de TS que dice que Property 'data' does not exist on type 'void'
acción/iglesias.js
export const getChurchesBySearch = (searchQuery) => async (dispatch) => { try { const { data } = await apis.getChurchesBySearch(searchQuery); dispatch({ type: "FETCH_BY_SEARCH", payload: data }); } catch (error) { console.log(error.message); } }; Como mencioné, la respuesta correcta se devuelve en el backend, pero cuando se asigna a data , data no están definidos.
Aquí están los otros archivos:
apis/iglesias.js
export const getChurchesBySearch = (searchQuery) => { console.log(searchQuery.city); axios.get( `${url}/search?city=${searchQuery.city}&denom=${searchQuery.denom}` ); }; controlador/iglesias.js
export const getChurchesBySearch = async (req, res) => { const { city, denom } = req.query; try { const churches = await Church.find({ $or: [{ city: city }, { denom: denom }], }).sort({ attend: -1 }); res.status(200).json(churches); } catch (error) { res.status(404).json({ message: error.message }); } };Le falta la declaración de return en la función getChurchesBySearch .
export const getChurchesBySearch = (searchQuery) => { console.log(searchQuery.city); return axios.get( `${url}/search?city=${searchQuery.city}&denom=${searchQuery.denom}` ); };