Bueno, iré al grano con esto, y tengo un problema al pasar parámetros al historial de navegación. Para aquellos con experiencia en reactnavication, sabrán lo fácil que es pasar múltiples parámetros en forma de objeto.
ahora el problema que tengo es que el siguiente bloque
goToChat = (chat) => const { params } = this.props.route; const post = params && params.post ? params.post : "" const anotherParam = params && params.anotherParams ? params.anotherParams : "" ... if (chat) { this.props.navigation.navigate(CHAT_ROUTE, { chat, param, anotherParam, ... }) } else { ... } }
Tengo que hacerlo funcionar en un history.push con React-router-dom, pero no he encontrado la manera de hacerlo, esto es lo que improvisé.
goToChat = (chat) => const { params } = this.props.match; const post = params && params.post ? params.post : "" const anotherParam = params && params.anotherParams ? params.anotherParams : "" ... if (chat) { this.props.history.push(`${CHAT_ROUTE}/${chat}/, post, anotherParam, ... }`) } else { ... } }
No estoy seguro de si estoy cerca de encontrar la solución con ese intento, pero necesito encontrar una solución para este problema...
¡Sí, por supuesto, puede pasar múltiples parámetros!
Primero necesitas eso:
import { useNavigate, useLocation } from "react-router-dom";
Y después por ejemplo:
let history = useNavigate(); const yourEventCliked = (object1, object2) => { history("/Your URL to redirect/", { state: { param1: object1, param2: object2}, }); };
El objetivo aquí es definir el estado y darle los parámetros... muy simple :)
¡Espero que haya ayudado!