在我的場景中,組件應該在 URL 或區域設定存盤中獲取一個值,但是當我嘗試從 useParams() 獲取值時,它會拋出一個錯誤:
Uncaught ReferenceError: useParams is not defined
真的我該如何處理這個錯誤?
我的代碼是:
const { userId } = useParams() || props;
我該如何解決?
uj5u.com熱心網友回復:
我認為您沒有匯入useParams,在這種情況下,請在檔案頂部這樣做:
import {useParams} from "react-router-dom"
然后做 :
let {userId} = useParmas();
if(!userId) userId = props.userId;
因為回傳一個物件,如果沒有任何引數,則useParams回傳一個空物件,但不是假的,所以這樣做,如果您的 url 中沒有引數,您將始終未定義。{}{}useParams() || propsuserId
uj5u.com熱心網友回復:
確保您已匯入useParams. 如果您已經匯入它,請嘗試執行此操作。
let { userId } = useParams();
if(!userId) userId = props.userId;
uj5u.com熱心網友回復:
如果您使用的是類組件,則必須withRouter()改為使用。
import { withRouter } from "react-router";
class Whatever extends Component {
render() {
const { userId } = this.props.match.params;
return null;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/412529.html
標籤:
上一篇:狀態總是一鍵延遲
