【问题标题】:React - Route will not render new contentsReact - 路由不会呈现新内容
【发布时间】:2021-09-11 21:08:35
【问题描述】:

我有不同的 URL 没有呈现结果。

行为是:

1)我有一个动态链接列表,数据库中创建的每个项目都有一个链接,该链接具有唯一的 ID。当我第一次点击这些链接中的一个,并且来自不同的网站页面时,该网页按预期工作并且我查看了正确的项目。

所以我来自:http://localhost:8000/#/people

然后我去:http://localhost:8000/#/contract/view/7cf403ff-820a-449e-81cc-ed4241a44c6a

这没关系,并且按预期工作。

2)我现在单击另一个项目以查看其详细信息。 URL 相似,但 ID 不同。

新网址:http://localhost:8000/#/contract/view/188bcabc-7a6e-432e-a638-4446884e5086

当我单击此链接时,页面不会重新呈现新内容。但是,我可以在浏览器中看到新的 URL。另外,如果我用这个新的 URL 刷新浏览器,我就会看到新的内容。就好像 React 认为这个新链接和上一个一样。

我正在使用“链接”标签。几个小时以来,我一直在努力寻找解决方案,甚至只是想知道为什么会发生这种情况。所有其他页面都呈现正常,只是当我直接点击这些特定链接集时,其他页面之间没有任何页面点击。

任何帮助将不胜感激。

【问题讨论】:

  • 如果您在同一路径上,则组件已经在页面中呈现,因此 componentDidMount 将不会执行,在您的组件中添加 componentDidUpdate 它将在路由更改时运行。

标签: reactjs react-router react-link


【解决方案1】:

您是否根据 useEffect() 钩子的新 ID 获取一些值?

否则页面/组件对于所有 ID 都是相同的。您需要获取useEffect() 中的数据并使用setState() 更新状态。只有更新状态,你的组件才会重新渲染。

请提供一些代码示例,以使问题清晰易懂。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 2019-10-15
    • 2019-03-26
    • 2021-04-23
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多