【发布时间】:2020-07-30 09:13:24
【问题描述】:
我正在尝试制作一个单页应用程序,您可以在其中单击链接并向下滚动到与菜单项对应的部分。我花了几天时间研究适合我的标准的修复程序,不幸的是,我的运气很差。
我的标准如下:
- 没有外部依赖
- 必须在地址栏中包含 url(以允许直接链接到特定部分)
- 不得乱七八糟(即将网址注入地址栏)
- 必须尽可能简单
我希望这不是要求太多。
您可以玩一下我的 CodeSandbox Here。叉子表示赞赏!
【问题讨论】:
-
好的。所以。我发现的第一个问题是 navlink 不能同时运行和运行 onClick。变通方法 1. 添加一个带有 onclick 的子组件, 2. 在 onclick 中处理所有 Navlink 事情(似乎太多了)。第二个问题是在功能组件中使用 ref。我现在正在调查。我认为有一个钩子。当我找到它时,我会发布一个答案和一个叉子。
-
好的。您正在使用 ref 挂钩。但是有一个范围问题。在标题级别使用它对您在其他级别几乎没有影响。让我再玩一下。我想我已经差不多了。
-
我现在必须停下来。 codesandbox.io/s/vigorous-microservice-3bqml?file=/src/App.tsx 应该是 onclick 工作的链接。您必须使用 ref 转发来获得所需的 ref。 reactjs.org/docs/forwarding-refs.html
标签: javascript reactjs typescript react-router