En mi escenario, el componente debería tomar un valor de la URL o del localStorage pero cuando intento obtener el valor de useParams() arroja este error:
Uncaught ReferenceError: useParams is not definedmi código es:
const { userId } = useParams() || props;Creo que no useParams , en cuyo caso hágalo en la parte superior de su archivo:
import {useParams} from "react-router-dom"Entonces hazlo :
let {userId} = useParmas(); if(!userId) userId = props.userId; Debido a que useParams devuelve un objeto, un objeto vacío como {} si no hay ningún parámetro, pero {} no es falso, entonces useParams() || props , si no hay un parámetro de userId de usuario en su URL, siempre obtendrá indefinido.
Asegúrese de haber importado useParams . Si ya lo ha importado, intente hacer esto.
let { userId } = useParams(); if(!userId) userId = props.userId;Si está usando un componente de clase, debe usar withRouter() en su lugar.
import { withRouter } from "react-router"; class Whatever extends Component { render() { const { userId } = this.props.match.params; return null; } }