const getPatientProceduresID = createAsyncThunk( "selectedPatient/getPatientProcedures", async (arg, { getState }) => { const state = getState(); const patient = state.selectedPatient.patient; const token = state.userDetails.token; try { const apiUrl = process.env.REACT_APP_API_URL; var config = { method: "get", url: `${apiUrl}/GetProcedures/${patient}`, headers: { accept: "application/json", "Authorization-Token": token, }, }; const response = await axios(config); const data = await response.data; return data[0].id; } catch (error) { console.log(error); } } ); export const getPatientProcedureDetails = createAsyncThunk( "selectedPatient/getPatientProcedureDetails", async (arg, { getState }) => { const state = getState(); const patientID = state.selectedPatient.patient; const procedureID = getPatientProceduresID; console.log(procedureID()); const token = state.userDetails.token; try { const apiUrl = process.env.REACT_APP_API_URL; var config = { method: "get", url: `${apiUrl}/GetProcedureDetail/${patientID}/${procedureID}`, headers: { accept: "application/json", "Authorization-Token": token, }, }; const response = await axios(config); const data = await response.data; return data; } catch (error) { console.log(error); } } );Cuando consola. registro ID de procedimiento, devuelve la función completa en lugar del resultado. ¿Qué estoy haciendo mal? Necesito usar el resultado de la primera variable en la segunda, porque contiene la identificación del procedimiento que necesito para "${apiUrl}/GetProcedureDetail/${patientID}/${procedureID}"
Está asignando la función getPatientProceduresID a la variable ID de procedureID sin ejecución. Además, es un asyncThunk, por lo que deberá enviarlo, y si desea directamente el resultado, también debe desenvolverlo. Asi que:
const procedureID = dispatch(getPatientProceduresID()).unwrap();