Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应滚动的活动类,isn';t工作不正常_Javascript_Reactjs - Fatal编程技术网

Javascript 反应滚动的活动类,isn';t工作不正常

Javascript 反应滚动的活动类,isn';t工作不正常,javascript,reactjs,Javascript,Reactjs,当我运行页面并滚动到 我在某个地方读到,你必须调用几年前发布的scrollSpy.update()。但是,仍然不起作用 我正在跟踪执行情况 这是我的密码 import React, { useEffect } from "react"; import { makeStyles } from "@material-ui/core/styles"; import AppBar from "@material-ui/core/AppBar"; import Toolbar from "@materia

当我运行页面并滚动到

我在某个地方读到,你必须调用几年前发布的
scrollSpy.update()
。但是,仍然不起作用

我正在跟踪执行情况

这是我的密码

import React, { useEffect } from "react";
import { makeStyles } from "@material-ui/core/styles";
import AppBar from "@material-ui/core/AppBar";
import Toolbar from "@material-ui/core/Toolbar";
import Typography from "@material-ui/core/Typography";
import styles from "./navbar.module.css";
import { Link, Element } from "react-scroll";
import * as Scroll from "react-scroll";

const useStyles = makeStyles(theme => ({
  root: {
    flexGrow: 1
  },
  menuButton: {
    marginRight: theme.spacing(2)
  },
  title: {
    flexGrow: 1
  }
}));

export default function ButtonAppBar(props) {
  let scrollSpy = Scroll.scrollSpy;
  const classes = useStyles();

  useEffect(() => {
    scrollSpy.update();
  });

  return (
    <div className={classes.root}>
      <AppBar style={{ backgroundColor: "#343567" }} position="fixed">
        <Toolbar>
          <Typography variant="h6" className={classes.title}>
            Welcome
          </Typography>
          <Link
            activeClass="active"
            to="test1"
            spy={true}
            smooth={true}
            offset={-70}
            duration={800}
          >
            Test 1
          </Link>
          <Link
            activeClass="active"
            to="test2"
            spy={true}
            smooth={true}
            offset={-70}
            duration={800}
          >
            Test 2
          </Link>
          <Link
            activeClass="active"
            to="test3"
            spy={true}
            smooth={true}
            offset={-70}
            duration={800}
          >
            Test 3
          </Link>
          <Link
            activeClass="active"
            to="test4"
            spy={true}
            smooth={true}
            offset={-70}
            duration={800}
          >
            Test 4
          </Link>
        </Toolbar>
      </AppBar>
    </div>
  );
}
import React,{useffect}来自“React”;
从“@material ui/core/styles”导入{makeStyles}”;
从“@material ui/core/AppBar”导入AppBar;
从“@material ui/core/Toolbar”导入工具栏;
从“@material ui/core/Typography”导入排版;
从“/navbar.module.css”导入样式;
从“react scroll”导入{Link,Element};
从“反应滚动”导入*作为滚动;
const useStyles=makeStyles(主题=>({
根目录:{
flexGrow:1
},
菜单按钮:{
边缘光:主题。间距(2)
},
标题:{
flexGrow:1
}
}));
导出默认功能按钮工具栏(道具){
让scrollSpy=Scroll.scrollSpy;
const classes=useStyles();
useffect(()=>{
scrollSpy.update();
});
返回(
欢迎
测试1
测试2
测试3
测试4
);
}
这里是它滚动到的元素,以便于访问

<Element name="test1" className="element">
  test 1
</Element>

<Element name="test2" className="element">
  test 2
</Element>

<Element name="test3" className="element">
  test 1
</Element>

<Element name="test4" className="element">
  test 2
</Element>

测试1
测试2
测试1
测试2

我想,你忘了这一点

import { Link, Element } from "react-scroll";

希望就是帮助。

我想,你忘了这一点

import { Link, Element } from "react-scroll";

希望就是帮助。

您需要将元素设置为“id”而不是“name”

例如:

<Element id="test1" className="element">
  test 1
</Element>

<Element id="test2" className="element">
  test 2
</Element>

<Element id="test3" className="element">
  test 1
</Element>

<Element id="test4" className="element">
  test 2
</Element> 

测试1
测试2
测试1
测试2

您需要将元素设置为“id”而不是“name”

例如:

<Element id="test1" className="element">
  test 1
</Element>

<Element id="test2" className="element">
  test 2
</Element>

<Element id="test3" className="element">
  test 1
</Element>

<Element id="test4" className="element">
  test 2
</Element> 

测试1
测试2
测试1
测试2

但是,由于我使用的元素位于单独的组件上,因此无法正常工作。为了便于使用,我在import语句中添加了元素show me,If have code error,show result is you's expected.没有代码错误。如前所述,如果要将其插入React组件中。然后,检查页面。滚动时,“active”类不会呈现给Navbar元素。显示它处于活动状态。但是,由于我使用的元素位于单独的组件上,因此无法工作。为了便于使用,我在import语句中添加了元素show me,If have code error,show result is you's expected.没有代码错误。如前所述,如果要将其插入React组件中。然后,检查页面。滚动时,“active”类不会呈现给Navbar元素。显示它是活动的。