Estoy tratando de pasar los resultados de la API formateada (JSON) a la tienda redux. Puedo recuperar los datos y resolver la promesa, pero no puedo asignar los datos devueltos dentro del método '.then'.
¿Puedes decirme qué estoy haciendo mal? También soy más nuevo, así que sea amable si me equivoco en una pregunta. Gracias.
reductor
import apiTest from "../api/ApiTest"; const initialState = { listData: null }; const contactListReducer = (state = initialState, action) => { switch (action.type) { case "FETCH": console.log("inside switch (reducer) "); return getData(state); default: return state; } }; const getData = (state, action) => { console.log("Inside getData"); let data; let request = apiTest().then((results) => { data = results; console.log("INSIDE THEN"); console.log(data); }); console.log("OUTISIDE THEN"); console.log(request); return Object.assign({}, state, { listData: request }); }; export default contactListReducer;Código API:
import React, { useEffect, useState } from "react"; import axios from "axios"; const apiCall = async () => { try { const payload = await fetch("https://jsonplaceholder.typicode.com/users"); const results = await payload.json(); // console.log(results); return results; } catch (err) { console.log(`error found of type ${err}`); } }; export default apiCall;