我構建了一個 Ionic-React 應用程式,它可以掃描二維碼并基于它連接到設備。我使用useLocation()and useHistory()Hooks 來路由我的應用程式。
我傳遞了一些這樣的資料:
const Home: React.FC = () => {
let history = useHistory()
const startScan = async () => {
//Some Barcode Logic
history.replace("/gatherData", {scan: result.content})
}};
并使用以下方式接收:
const GatherData: React.FC = () => {
let history = useHistory();
let location = useLocation();
useIonViewWillEnter(() => {
console.log(location);
});
我像往常一樣這樣做了,它似乎作業得很好。但是現在,不知何故,useLocation()Hook 不再承認歷史正在發生變化。雖然我被路由到下一頁,但useLocation()回傳一個舊路徑:
{pathname: '/home', ... state: undefined, key: 'bdwus9'}
我確實嘗試重新編碼,但這并沒有解決問題。還試圖捕捉 theHomeFC和 in 中的錯誤GatherDataFC并沒有幫助。如果有人能解決這個問題,那就太好了......
uj5u.com熱心網友回復:
您useIonViewWillEnter當前的狀態已過時,因為它已被快取,就像許多其他掛鉤一樣。要解決此問題,您需要明確告訴它其依賴位置已更改。
useIonViewWillEnter(() => {
console.log(location);
}, [location]/*depdendency array*/);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/477606.html
