Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

239
Views
Cómo obtener la respuesta de una función en otro archivo

Tengo dos archivos llamados actions.js y vip.js Declaré una función fetchVip en el archivo de action y la importé en un archivo vip que completará el elemento de texto cuando se cargue la pantalla. Quiero acceder a la respuesta de fetchVip en el archivo vip , pero no estoy definido como este LOG useeffect undefined . Mientras que responde funciona como se esperaba en el archivo de acción. Mi código está a continuación.

Archivo Vip

 import {fetchVip} from '../../Store/action'; const Vip = props => { useEffect(() => { console.log('useeffect', fetchVip()); }, [fetchVip()]);

archivo de acción

 export const fetchVip = () => { axios .post(`${baseUrl}/get-vips`) .then(function (response) { return response.data; }) .catch(function (error) { console.log('error', error); return {type: 'ERROR', payload: error}; }); };
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

fetchVip no devuelve nada, por lo que primero debe agregar una declaración de devolución aquí:

 export const fetchVip = () => { return axios .post(`${baseUrl}/get-vips`)

o quite las llaves, luego volverá también.

 export const fetchVip = () => axios .post(`${baseUrl}/get-vips`) ... return {type: 'ERROR', payload: error}; })

Ahora devolverá una promesa. Eso significa que el resultado no estará allí de inmediato, sino en algún momento posterior. Por lo tanto, si desea utilizarlo en el useEffect , debe esperar a que llegue el resultado.

podría hacer esto con la sintaxis de ES6:

 useEffect(() => { const getVip = async () => { const vip = await fetchUsers(); console.log(vip) //now you can do something with it }; getVip(); }, [fetchVip]);

o la sintaxis promise-then :

 useEffect(() => { fetchVip().then(result => { console.log(result); //do something with the result }) }, [fetchVip]);

Esto está mal por cierto. quitar el (). Desea verificar la función aquí, no el resultado de la función.

 }, [fetchVip()]);
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!