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

343
Views
¿Cómo mostrar modales usando el estado global con react-router-dom?

La aplicación My React usa react-router-dom para la navegación. Dentro de cada uno de los diferentes componentes para estas rutas, existe la necesidad potencial de mostrar algún tipo de componente Modal de error cuando algo sale mal. En lugar de necesitar importar el mismo Error Modal en cada componente que lo necesite, administrar el estado dentro del padre y declarar funciones de alternancia, me gustaría hacer esto una vez fuera de todos los demás componentes y solo mostrar el Error Modal genérico cuando sea necesario.

Sospecho que es posible que necesite usar la API de contexto, pero no la he usado antes.

Encontré este artículo pero no estoy seguro de cómo implementarlo con mi aplicación que tiene varias rutas.

Idealmente, me gustaría activar el modal desde mi interceptor axios en mi index.js y mostrar el modal en la parte superior de cualquier página en la que se encuentre el usuario.

índice.js:

 //imports... axios.interceptors.response.use(undefined, err => { if (err.response.status === 500) { // Set show state for error modal here } return Promise.reject(err); }); ReactDOM.render(<App />, document.getElementById('root'));

Aplicación.js:

 import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; // other imports... const App = () => { return ( <Router> <Routes> <Route path='/page1' element={<Page1 />}></Route> <Route path='/page2' element={<Page2 />}></Route> </Routes> </Router> ); };
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

De hecho, pude resolver un problema similar a este usando la API de contexto. Vea a continuación una breve explicación:

Crea tu Proveedor Modal

 export const ModalProvider = (props) => { const createModal = () => { // ...some modal init code here } return ( <ModalContext.Provider value={{ createModal }}> <Modal/> {props.children} </ModalContext.Provider> ) }

Luego puede envolver su aplicación en este proveedor y debería tener acceso a la función createModal al acceder al contexto. ¡Espero que esto ayude!

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!