Hola Erick,
Entiendo tu problema, a veces React Router puede ser un poco complicado. En tu caso, parece que el componente no se está volviendo a renderizar cuando cambias el parámetro id
en la URL.
Esto puede suceder porque React Router v4/v5 no vuelve a renderizar el componente cuando solo cambian los parámetros de la ruta. En otras palabras, React Router no considera un cambio en los parámetros de la ruta como un cambio de ubicación.
Una solución posible a este problema es usar el hook useEffect
de React. Este hook puede observar los cambios en los parámetros de la ruta y forzar una nueva renderización del componente cuando estos cambian.
Aquí te dejo un ejemplo de cómo podrías implementarlo:
import React, { useEffect } from 'react';
import { useParams } from 'react-router-dom';
function Movie() {
let { id } = useParams();
useEffect(() => {
// Aquí puedes hacer la lógica para cargar los datos de la nueva película
// cada vez que el id cambie, este código se ejecutará
}, [id]); // Esto indica a React que debe volver a ejecutar el código cuando el id cambie
// ... el resto de tu código del componente
}
En este ejemplo, el hook useEffect
se ejecutará cada vez que el id
cambie, forzando la actualización del componente y permitiendo que se carguen los datos de la nueva película.
Espero que esta información te sea útil y resuelva tu problema. Recuerda que esta es una solución común, pero puede que no funcione en todos los casos y puede requerir ajustes dependiendo del resto de tu código.
Espero haber ayudado y ¡buenos estudios!