Ionic React props.match.params 不更新
Ionic React props.match.params doesn't update
我正在构建一个网站,以使用 React 和 Ionic 展示房地产。
我的 App.tsx
中有这个路由
<IonApp>
<IonReactRouter>
<Nav />
<IonRouterOutlet id="first">
<Route exact path="/" component={Home} />
<Route exact path="/all-properties" component={Properties} />
<Route exact path="/property/:id" component={Property} />
</IonRouterOutlet>
</IonReactRouter>
</IonApp>
然后我 link 到我网站中的单个 "/property/:id"
页面,如下所示:
<Link to={"/property/" + variableId}> ... </Link>
现在在我的 "/property/:id"
页面上,我可以像这样从 URL 访问 ID:
useIonViewDidEnter(() => {
console.log(props.match.params.id); // This works the first time
});
问题是,当我点击返回主屏幕,然后访问我的另一个 "/property/:id"
页面时,props.match.params.id
保持不变。不更新了。
如何解决?
原来是 Ionics 生命周期方法出了问题。
我的解决方案是像这样制作一个 useEffect:
useEffect(() => {
console.log(props.match.params.id)
}, [props.match.params.id])
我正在构建一个网站,以使用 React 和 Ionic 展示房地产。
我的 App.tsx
中有这个路由<IonApp>
<IonReactRouter>
<Nav />
<IonRouterOutlet id="first">
<Route exact path="/" component={Home} />
<Route exact path="/all-properties" component={Properties} />
<Route exact path="/property/:id" component={Property} />
</IonRouterOutlet>
</IonReactRouter>
</IonApp>
然后我 link 到我网站中的单个 "/property/:id"
页面,如下所示:
<Link to={"/property/" + variableId}> ... </Link>
现在在我的 "/property/:id"
页面上,我可以像这样从 URL 访问 ID:
useIonViewDidEnter(() => {
console.log(props.match.params.id); // This works the first time
});
问题是,当我点击返回主屏幕,然后访问我的另一个 "/property/:id"
页面时,props.match.params.id
保持不变。不更新了。
如何解决?
原来是 Ionics 生命周期方法出了问题。
我的解决方案是像这样制作一个 useEffect:
useEffect(() => {
console.log(props.match.params.id)
}, [props.match.params.id])