首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >离子反应props.match.params不更新

离子反应props.match.params不更新
EN

Stack Overflow用户
提问于 2020-12-08 12:58:21
回答 1查看 648关注 0票数 2

我正在建设一个网站来展示房地产与反应和离子。

我在我的App.tsx中有这个路由

代码语言:javascript
运行
复制
<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>

我链接到我网站中的单一"/property/:id"页面,如下所示:

代码语言:javascript
运行
复制
<Link to={"/property/" + variableId}> ... </Link>

现在,在我的"/property/:id"页面上,我可以访问URL中的id,如下所示:

代码语言:javascript
运行
复制
useIonViewDidEnter(() => {
  console.log(props.match.params.id); // This works the first time
});

问题是,当我单击后向后显示主屏幕,然后访问另一个"/property/:id"页面时,props.match.params.id将保持不变。它没有更新。

能做些什么来解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-09 08:52:52

事实证明,问题在于它是离子生命周期方法。

我的解决方案是做一个useEffect,而不是这样:

代码语言:javascript
运行
复制
useEffect(() => {
   console.log(props.match.params.id)
}, [props.match.params.id])
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65199411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档