
Problemas con parametros de rutas en componentes de clase.
Publicado por Luis Esteban (1 intervención) el 16/08/2022 19:41:54
Hola,
Se requiere actualizar unos componentes de clases. He logrado hacer algunos cambios pero aun tengo problemas con algunas rutas que ya no trabajan como antes.
Es una aplicacion de peliculas, y por esta razon el componente de detalles no recibe el Id mediante this.props.id.
Las rutas con problemas tienen la siguiente sintaxis,
<BrowserRouter>
<MenuPeliculas />
<Routes>
<Route exact path="/" element={<Peliculas />} />
<Route exact path="/create" element={<InsertarPelicula />} />
<Route exact path="/details/:id" render={props => {
var id = props.match.params.id;
return <DetallesPelicula id={id} />
}} />
...
En DetallesPelcula,
mostrarPelicula = () => {
var request = "/peliculas/" + this.props.id;
var url = Global.urlpeliculas + request;
console.log("url: " + url);
axios.get(url).then(res => {
this.setState({
pelicula: res.data[0]
, status: true
});
});
}
No se logra con this.props.id, me da "undefined".
Y se quiere mantener los componentes de clase, de modo que no sirve " useParams"
Alguna idea?
Saludos y un fuerte abrazo :)
Se requiere actualizar unos componentes de clases. He logrado hacer algunos cambios pero aun tengo problemas con algunas rutas que ya no trabajan como antes.
Es una aplicacion de peliculas, y por esta razon el componente de detalles no recibe el Id mediante this.props.id.
Las rutas con problemas tienen la siguiente sintaxis,
<BrowserRouter>
<MenuPeliculas />
<Routes>
<Route exact path="/" element={<Peliculas />} />
<Route exact path="/create" element={<InsertarPelicula />} />
<Route exact path="/details/:id" render={props => {
var id = props.match.params.id;
return <DetallesPelicula id={id} />
}} />
...
En DetallesPelcula,
mostrarPelicula = () => {
var request = "/peliculas/" + this.props.id;
var url = Global.urlpeliculas + request;
console.log("url: " + url);
axios.get(url).then(res => {
this.setState({
pelicula: res.data[0]
, status: true
});
});
}
No se logra con this.props.id, me da "undefined".
Y se quiere mantener los componentes de clase, de modo que no sirve " useParams"
Alguna idea?
Saludos y un fuerte abrazo :)
Valora esta pregunta


0