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

189
Views
¿Es posible llamar a una API basada en roles de usuario con useSWR?

Me pregunto si es posible usar useSWR de Vercel si una condición es true . Es decir, si RoleOne es verdadero, llame a:

 let { data: roleOneData, error: roleOneError } = useSWR( "/api/getRoleOneInfo", fetcher )

Mi aplicación Next.js se ocupa de diferentes roles de usuario, y todos los roles de usuario comparten el mismo Shell de la aplicación, lo que significa que llamo a todas las API específicas del rol de usuario en el Shell de la aplicación. Me gustaría llamar solo a la API que necesito si puede ver que un rol de usuario específico es verdadero. userData los roles de la API de datos de usuario.

Aquí están mis buscadores que se utilizan en varias funciones:

 let { data: userData, error: userError } = useSWR("/api/getUserInfo", fetcher) let { data: roleOneData, error: roleOneError } = useSWR( "/api/getRoleOneInfo", fetcher ) let { data: roleTwoData, error: roleTwoError } = useSWR( "/api/getRoleTwoInfo", fetcher )

Si inicio sesión como RoleOne , obtengo errores de API para getRoleTwoInfo y viceversa. Me gustaría evitar llamar a la API de RoleTwo si estoy conectado como RoleOne y viceversa. ¿Cómo puedo lograr eso?

about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

Definitivamente posible y descrito en esta página en la documentación.

Solo tiene que hacer que su clave (la url de la solicitud en su caso) sea falsa cuando no desea que se realice la solicitud.

 let { data: userData, error: userError } = useSWR("/api/getUserInfo", fetcher) let { data: roleOneData, error: roleOneError } = useSWR( userData?.role === "one" ? "/api/getRoleOneInfo" : null, fetcher ) let { data: roleTwoData, error: roleTwoError } = useSWR( userData?.role === "two" ? "/api/getRoleTwoInfo" : null, fetcher )
about 4 years ago · Santiago Gelvez 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!