useLocation Hook returns 错误的路径
useLocation Hook returns wrong path
我构建了一个 Ionic-React 应用程序,它可以扫描二维码并基于它连接到设备。我使用 useLocation()
和 useHistory()
挂钩通过我的应用程序进行路由。
我像这样传递一些数据:
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()
returns 旧路径:
{pathname: '/home', ... state: undefined, key: 'bdwus9'}
我确实尝试重新编码,但这并没有解决问题。还试图捕获 HomeFC
和 GatherDataFC
中的错误也无济于事。如果有人能解决问题就太好了...
您的 useIonViewWillEnter
当前处于过时状态,因为它已被缓存,就像许多其他挂钩一样。要解决此问题,您需要明确告诉它它的依赖位置已更改。
useIonViewWillEnter(() => {
console.log(location);
}, [location]/*depdendency array*/);
我构建了一个 Ionic-React 应用程序,它可以扫描二维码并基于它连接到设备。我使用 useLocation()
和 useHistory()
挂钩通过我的应用程序进行路由。
我像这样传递一些数据:
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()
returns 旧路径:
{pathname: '/home', ... state: undefined, key: 'bdwus9'}
我确实尝试重新编码,但这并没有解决问题。还试图捕获 HomeFC
和 GatherDataFC
中的错误也无济于事。如果有人能解决问题就太好了...
您的 useIonViewWillEnter
当前处于过时状态,因为它已被缓存,就像许多其他挂钩一样。要解决此问题,您需要明确告诉它它的依赖位置已更改。
useIonViewWillEnter(() => {
console.log(location);
}, [location]/*depdendency array*/);