AOS(滚动动画)在 React js 中不起作用

Nim*_*der 3 html javascript reactjs aos.js

这是我的App.js代码

import React from "react";
import { BrowserRouter as Router, Route } from "react-router-dom";
import AOS from "aos";
import "aos/dist/aos.css";
import Home from "../Home/Home";
AOS.init();

function App() {
  return (
    <>
      <div className="App">
        <Router>
          <Route path="/">
            <Home />
          </Route>
        </Router>
      </div>
    </>
  );
}

export default App;
Run Code Online (Sandbox Code Playgroud)

导出默认应用程序;

首页.jsx

import React from "react";

export default function Home() {
  return (
    <>
      <div className="commitments">
        <p data-aos="fade-left">This is text fading</p>
      </div>
    </>
  );
}
Run Code Online (Sandbox Code Playgroud)

我认为这是正确的方法,在使用 data-aos="fade-left" 之前它工作正常,但是当我使用 data-aos 时文本消失了。我不明白这是什么问题。

T J*_*T J 6

AOS.init();您应该在应用程序安装后运行:

function App() {

  useEffect(() => {
    AOS.init();
  }, []);

  return (
    <>
      <div className="App">
        <Router>
          <Route path="/">
            <Home />
          </Route>
        </Router>
      </div>
    </>
  );
}
Run Code Online (Sandbox Code Playgroud)

由于这个库不是为 React 设计的,因此当你的组件重新渲染时,你可能需要重新初始化它。我建议使用为 React 构建的动画库。

  • 其中有很多:https://www.react-reveal.com/、https://www.npmjs.com/package/react-animate-on-scroll、https://github.com/gilbox/react -spark-scroll,https://github.com/react-component/scroll-anim 进行搜索并选择最适合您需求的一个 (2认同)