Parece que no puedo encontrar cómo actualizar los parámetros de consulta con react-router sin usar <Link/>. hashHistory.push(url)no parece registrar parámetros de consulta, y no parece que pueda pasar un objeto de consulta ni nada como segundo argumento.
¿Cómo se cambia la URL de /shop/Clothes/dressesa /shop/Clothes/dresses?color=blueen react-router sin usar <Link>?
¿Y es una onChangefunción realmente la única forma de escuchar los cambios de consulta? ¿Por qué los cambios de consulta no se detectan y reaccionan automáticamente a la forma en que lo hacen los cambios de parámetros?
reactjs
react-router
claireablani
fuente
fuente

Respuestas:
Dentro del
pushmétodo dehashHistory, puede especificar sus parámetros de consulta. Por ejemplo,o
Puede consultar este repositorio para obtener ejemplos adicionales sobre el uso
historyfuente
router.push({ pathname: '/path', state: { color: 'blue', size: 10 }, });Ejemplo usando el paquete react-router v4, redux-thunk y react-router-redux (5.0.0-alpha.6).
Cuando el usuario usa la función de búsqueda, quiero que pueda enviar un enlace de URL para la misma consulta a un colega.
fuente
react-router-reduxestá obsoleto<Redirect>etiqueta, enlace a la página de documentoswithReducerHOC, lo que le dará elhistoryapoyo. Y luego puedes correrhistory.push({ search: querystring }.react-router-redux, puede usar loconnected-react-routerque no está en desuso.La respuesta de John es correcta. Cuando estoy tratando con parámetros, también necesito una
URLSearchParamsinterfaz:También es posible que deba envolver su componente con un
withRouterHOC, por ejemplo.export default withRouter(YourComponent);.fuente
withRouteres un HOC, no un decoradorfuente
Desde DimitriDushkin en GitHub :
o
fuente
El uso del módulo de cadena de consulta es el recomendado cuando necesita un módulo para analizar su cadena de consulta con facilidad.
Aquí, estoy redirigiendo a mi cliente desde el servidor Node.js después de la autenticación exitosa de Google-Passport, que está redirigiendo con el token como parámetro de consulta.
Lo estoy analizando con el módulo query-string, guardándolo y actualizando los parámetros de consulta en la URL con push de react-router-redux .
fuente
Prefiero que uses la siguiente función que es
ES6estilo:fuente
También se puede escribir de esta manera
fuente