带有React-scrollspy-nav的问题

问题描述 投票:0回答:1

此问题也许是一个孤立的案例。我已经安装了react-scrollspy-nav。它的主要目的是像菜单栏一样平滑导航到顶部安装的页面。但以我为例,我将其用作指示器,固定在页面的最右侧,告诉视图中是否有特定的部分。它在页面上可以正常工作,但是每当我切换到另一个页面时,都会出现错误消息:

未捕获的TypeError:无法读取null的属性'offsetTop']

以下是该包的用法示例:

import React, { Component } from "react";
import ScrollspyNav from "react-scrollspy-nav";

class App extends Component {
    render() {
        return (
            <div>
                <div>
                    <ScrollspyNav
                        scrollTargetIds={["section_1", "section_2", "section_3"]}
                        activeNavClass="is-active"
                        scrollDuration="1000"
                        headerBackground="true"
                    >
                        <ul>
                            <li><a href="/"><span>Home</span></a></li>
                            <li><a href="#section_1"><span>Section 1</span></a></li>
                            <li><a href="#section_2"><span>Section 2</span></a></li>
                            <li><a href="#section_3"><span>Section 3</span></a></li>
                        </ul>
                    </ScrollspyNav>
                </div>

                <div>
                    <div style={{"height": "400px"}}><span>Welcome!</span></div>
                    <div id="section_1" style={{"height": "500px"}}><span>Section 1</span></div>
                    <div id="section_2" style={{"height": "500px"}}><span>Section 2</span></div>
                    <div id="section_3" style={{"height": "500px"}}><span>Section 3</span></div>
                </div>
            </div>
        );
    }
}

export default App; 

我的问题是,每当我转到其他链接或页面时,有没有办法防止这种情况?也许有一种方法,只要我的Scrollspy所在的特定组件在其他页面中不存在,它就会通过不读取其ID来忽略该错误?谢谢。

此问题也许是一个孤立的案例。我已经安装了react-scrollspy-nav。它的主要目的是像菜单栏一样平滑导航到顶部安装的页面。但就我而言,我将其用作...

reactjs scroll react-component scrollspy
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.