当前位置: 首页 > 面试题库 >

在react-router 4中使用定位标记

鲜于雨石
2023-03-14
问题内容

当用户通过锚链接导航到页面时,我希望页面向下滚动到锚标记。

我正在使用react-router 4,并且定义如下:

导航栏:

export default (props) => {
  const { 
    updateModal,
    updateRoute,
  } = props
  return(
    <Navbar fluid collapseOnSelect>
      <Nav>
        <NavDropdown eventKey="4" title="Solutions" id="nav-dropdown" noCaret>
          <MenuItem eventKey="4.1">
             <Link to='/solution#ipos'>TESTING ANCHOR</Link>
          </MenuItem>
...

一些路线:

export default class extends Component {
  constructor() {
    super()
    this.state = {
      isLoading: true
    }
  }
  render() {
    return (
      <Grid className='solutions' fluid>
       <Row className='someClass'>
        <div>
          <h2><a href='ipos' id='ipos'>Ipos morna santos paros</a></h2>
          ...

单击导航栏中的定位链接时,我可以在URL和Redux存储中看到哈希定位标签,它确实导航到新路线,但不会向下滚动到标签本身。

是由我来创建滚动功能还是应该如何正常工作?


问题答案:

这是React Router的已知问题。(https://github.com/ReactTraining/react-
router/issues/394#issuecomment-220221604

还有一个解决方案。https://www.npmjs.com/package/react-router-hash-
link
此软件包可以解决该问题。

你必须使用这个Hash Link作为Link像下面。

import { HashLink as Link } from 'react-router-hash-link';



 类似资料:
  • 本文向大家介绍手挽手带你学React之React-router4.x的使用,包括了手挽手带你学React之React-router4.x的使用的使用技巧和注意事项,需要的朋友参考一下 手挽手带你学React入门三档,带你学会使用Reacr-router4.x,开始创建属于你的React项目 什么是React-router React Router 是一个基于 React 之上的强大路由库,它可以让

  • 如何在react-google-maps中更改defaultCenter?我需要找到我的地理定位并更改缺省值lat和LNG。 接下来,我需要将数据传输到组件MapWithAMarker:ecenter={myLocation}和Marker position={myLocation}

  • 用标尺工具定位 标尺工具 可帮助您准确定位图像或元素。标尺工具可计算工作区内任意两点之间的距离。当您测量两点间的距离时,将绘制一条不会打印出来的直线,并且选项栏和“信息”面板将显示以下信息: 起始位置(X 和 Y) 在 x 和 y 轴上移动的水平 (W) 和垂直 (H) 距离。 相对于轴偏离的角度 (A)。 移动的总长度 (D1) 使用量角器时移动的两个长度(D1 和 D2) 除角度外的所有测量都

  • 开始使用React Native。我确实安装了Android SDK、Java SDK和Android依赖项。在我的终端上运行演示应用程序时,我收到以下错误。 系统:-OSX Yosemite-Node v 5.5

  • 我试图找到标签元素并用一些值填充它,但我无法得到它。我使用、和来编写以下代码。 我使用的代码如下 运筹学 这是我检查元素时收到的元素的详细信息。

  • 本文向大家介绍在React中怎么使用字体图标?相关面试题,主要包含被问及在React中怎么使用字体图标?时的应答技巧和注意事项,需要的朋友参考一下 1、npm install --save react-fontawesome 2、npm install font-awesome 3、import ‘font-awesome/less/font-awesome.less’; 4、import ‘re