He implementado una forma en que cuando hago clic en un botón paso una variable (un objeto que construyo cuando se hace clic en el botón) a otra página.
Ahora mi problema está en la página que recibe esta variable, porque cuando paso este valor, lo uso para configurar otra variable constante y si hago clic otra vez en el botón, las variables permanecen configuradas como antes.
Así que tengo una página index.js que contiene el botón
const index = ({}) => { return ( // others // <Permission /> ) }En el Permiso.js
const Permission = () => { const request = () => { let requestVariable // all the logic to populate the requestVariable if(//.....){ requestVariable = { id: idRequest, requestType: 'permission', startDate: myDateVariable // .... } Actions['allPermissions']{(requestVariable : requestVariable )} } return ( <MyButton type="primary" onPress={() => request()} /> ) }Así que tengo mi AllPermissions.js
const AllPermission = ({requestVariable}){ const[componentSel, setComponentSel] = useState(0)
return( {componentSel === 0 && <NewPermission requestVariable = {requestVariable } />} ) }
Ahora en NewPermission tengo los problemas de los que hablé
const NewPermission = ({requestVariable }){ const [type, setType] = useState(requestVariable ? requestVariable.requestType : 'permission' const [startDate, setStartDate] = useState(requestVariable ? requestVariable.startDate : new Date()) //.... }Ahora como dije el problema está en nueva solicitud, porque puedo acceder en esta página haciendo clic en el botón o desde una pestaña. Si hago clic en el botón la primera vez, todo está configurado correctamente, pero si voy a la página index.js y hago clic en otra vez (los valores que inserto en el objeto son diferentes) no se muestran. ¿Cómo puedo hacer para completar los valores en mi página NewPermission?
Prueba de esta manera
const NewPermission = ({requestVariable }){ const [type, setType] = useState(requestVariable ? requestVariable.requestType : 'permission' const [startDate, setStartDate] = useState(requestVariable ? requestVariable.startDate : new Date()) useEffect(() => { setType( requestVariable ? requestVariable.requestType : 'permission' ); }, [requestVariable]); }