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

303
Views
¿Cómo puedo obtener datos de mongoDB y mostrarlos en la interfaz de reacción?

Soy nuevo en MERN y lo estoy aprendiendo. No sé cómo obtener todos los datos de una colección específica y mostrar los datos de cada registro en tarjetas separadas. Desarrollé el código de back-end y funciona perfectamente cuando envío solicitudes a través del cartero, pero obtener y mostrar datos de la aplicación React es un problema para mí. ¿Cómo puedo hacer eso?

Mi código API backend

 router.get('/ads', async (req,res,next)=>{ try{ const ads = await Ads.find(); return res.status(200).json({ success: true, count: ads.length, data: ads, }); } catch(err) { console.log(err); res.status(500).json({ error: 'server error' }); } });

imagen

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Hay muchas formas de consultar para obtener datos de su servidor API. así que aquí estoy tratando de describir dos de ellos.

1. Por navegador nativo Fetch API:

 const AdsContainer = ({children}) => { const [data, setData] = useState(); useEffect(() => { fetch('/ads').then(response => { setData(response.json()) }) }, []) return ( <AdsComponent data={data}> {children} </AdsComponent> ) }

2. por react-query :

Esto le dará un manejo más sincronizado como loading , Error , almacenamiento en Caching y más.

Primero, en el nivel superior de su app , debe proporcionarlo.

 import { QueryClient, QueryClientProvider } from "react-query"; import AdsContainer from "./AdsContainer"; const queryClient = new QueryClient() function App() { return ( <QueryClientProvider client={queryClient}> <div className="App"> <AdsContainer /> </div> </QueryClientProvider> ); }

Entonces su AdsContainer podría obtener datos de la siguiente manera:

 import {useQuery} from "react-query"; const AdsContainer = ({children}) => { const query = useQuery('todos', () => { return fetch("/ads").then(response => { return response.json() }) }) /* logics that depends on your data * userEffect(() => {}, [data.length]) */ return ( <AdsComponent data={query.data}> {children} </AdsComponent> ) }
about 4 years ago · Juan Pablo Isaza Report

0

Simplemente use la biblioteca AXIOS para hacer sus llamadas REST en el front-end. Lo que creó en su proyecto nodejs es solo un punto final, ahora tendrá que hacer una llamada API al punto final desde el front-end.

Answer by Heartbit también es apto, pero normalmente en React, los desarrolladores usan la biblioteca AXIOS para el resto de las llamadas a la API.

Lea los documentos aquí: https://www.npmjs.com/package/axios

Mientras comienza, mire un tutorial sobre AXIOS si la documentación es demasiado para usted.

Después de importar Axios, dentro del gancho useEffect, debería estar escribiendo algo como esto:

 axios.get('/ads') .then(function (response) { // handle success console.log(response); }) .catch(function (error) { // handle error console.log(error); }) .then(function () { // always executed });
about 4 years ago · Juan Pablo Isaza Report

0

Te recomiendo que instales axios.

  • Más información https://www.npmjs.com/package/axios
  • Usando:
 useEffect(() => { const getAds = async () => { const res = await axios.get('/ads') console.log(res.data) } getAds() }, [])
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!