Hola, soy realmente nuevo en reaccionar y estoy viendo este maravilloso tutorial de youtube ReactJs de Learncode.academy. Este tutorial es del año pasado, no sé si estos módulos ya están obsoletos. Recibí estos mensajes de error:
Ha proporcionado un objeto de historial creado con history v4.x o v2.x y anteriores. Esta versión de React Router solo es compatible con objetos de historial v3. Cambie a la historia v3.x. en invariante Aquí está mi código:
import Layout from "./components/Layout"; import { Router, Route, IndexRoute, browserHistory } from "react-router"; const app = document.getElementById('app'); ReactDOM.render( <Router history="{browserHistory}"> <Route path="/" component="{Layout}"> </Route> </Router>, app);Aquí está mi paquete.json
"history": "^3.2.1", "react-router": "^3.0.2",¡Cualquier sugerencia sería muy apreciada! ¡Gracias!
Está utilizando el historial y los componentes de forma incorrecta. No necesita comillas sobre el historial y los objetos componentes.
import Layout from "./components/Layout"; import { Router, Route, IndexRoute, browserHistory } from "react-router"; const app = document.getElementById('app'); ReactDOM.render( <Router history={browserHistory}> <Route path="/" component={Layout}> </Route> </Router>, app);De https://github.com/ReactTraining/react-router/issues/353
Para que el nombre base funcione para react-router@3.0.2:
(verifique react-router package.json para obtener la versión de historial correcta para usar, la versión principal actual de history es 4.x y no funcionará con react-router@3.0.2)
import React from 'react' import { render } from 'react-dom' import { Router, Route, IndexRoute, useRouterHistory } from 'react-router' import { createHistory } from 'history' const history = useRouterHistory(createHistory)({ basename: '/subdirectory-where-the-app-is-hosted-goes-here' }) render(( <Router history={history}> <Route path='/' component={Layout}> <IndexRoute component={HomeView} /> <Route path='other-views' component={OtherViews} /> </Route> </Router> ), document.getElementById('main'))