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

240
Views
¿Cómo almacenar un valor booleano en React después de pasar a la página siguiente?

Estoy usando React Router para configurar mi página de contacto (que consta de varias páginas, enrutador anidado):

 <Route path="/contact" element={<Contact />}> <Route path="name" element={<ContactName />} /> <Route path="email" element={<ContactEmail />} /> <Route path="message" element={<ContactMessage />} /> </Route>

Cuando entro por primera vez en mi página de contacto, tengo un botón para pasar a la página ContactName (para que puedan ingresar su nombre):

 <a href="/contact/name" className="contact-icon-color contact-icon-link" onClick={() => { setContactButton(false) }}> </a>

Cuando hacen clic en el botón, configuro la propiedad de visualización del enlace del botón en ninguno. Esto funciona como pretendía. Sin embargo, cuando pasa a la página ContactName, el botón vuelve a aparecer. Entiendo que el valor booleano contactButton se restablece con la siguiente línea en mi componente funcional:

 const [contactButton, setContactButton] = useState(true);

No sé cómo superar esto. Mis preguntas son:

  1. ¿Hay una mejor forma alternativa de eliminar el botón o pasar a la página siguiente?
  2. Si no, ¿cómo almacenaría el valor más reciente para contactButton para que el enlace no vuelva a aparecer?

Gracias, tenga en cuenta que soy nuevo en React.

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

0

Como sé, puedes jugar con props aquí.

Primero, importa PropTypes a tu proyecto. https://www.npmjs.com/package/prop-types

Su código se ve similar a lo siguiente:

 import React, { useState } from 'react'; import PropTypes from 'prop-types'; import { Route, Link } from 'react-router-dom'; export const Contact = ({ isVisibleButton }) => { const [contactButton, setContactButton] = useState(isVisibleButton); return( <Link to="/contact/name" className="contact-icon-color contact-icon-link" onClick={() => { setContactButton(!isVisibleButton) }} /> {contactButton && ( <button>something you want</button> )} ) } Contact.propTypes = { isVisibleButton: PropTypes.bool, }; Contact.defaultProps = { isVisibleButton: true, };

PD: por favor, verifique las importaciones o errores menores, traté de explicar lo que preguntó. Y es, supongo, una forma mucho mejor/avanzada en lugar de establecer valor para el almacenamiento local

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!