首页 > 解决方案 > 为什么我的 React js 组件调用 ComponentDidMount 两次并删除了我的路由器 URL 参数?

问题描述

一旦选择了用户的个人资料,我就会从我的网络应用程序的主屏幕导航到用户的个人资料页面。我将所选用户的用户 ID 作为路由器参数传递,以便将他们的数据加载到他们的个人页面上。

goProfile = (userID) =>
  {
    this.props.history.push('/galleries/' + userID);
  }

这是该页面的路线。

<Route path = '/galleries/:user' render={(props) => <Galleries {...props} uid={auth.uid} user={this.state.user}/>}/>

我使用作为 URL 参数传递的 ID 来查询我的数据库并呈现必要的信息,这是成功的(我可以从登录控制台中看到),但由于某种原因,componentDidMount 第二次触发并且当我的 URL 参数是控制台时.logged 第二次它说未定义。结果永远不会呈现用户的信息。 控制台截图

我听说我在组件内有条件地渲染用户图像帖子可能会导致卸载和重新安装,但我没有解决这个问题。

标签: reactjsreact-routerreact-componenturl-parametersreact-lifecycle

解决方案


推荐阅读