我想在我的React应用程序中使用JavaScript库AOS(https://michalsnik.github.io/aos/),如何将其包含在App.js文件中?
import React from 'react';
import logo from './logo.svg';
import './App.css';
import 'aos';
function App() {
AOS.init();
return (
<div className="App">
<header className="App-header">
<img data-aos={"fade-left"} src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
export default App;
AOS需要初始化,所以我觉得我需要做一些类似于我在上面代码中所做的事情,但是它抛出了一个错误:
编译失败。/src/App. js第8行:3:“AOS”未定义-未定义
我该如何在React中实现这一点?
5条答案
按热度按时间h22fl7wq1#
根据documentation,你需要调用
AOS.init()
在你的组件中初始化它。这可以在你的componentDidMount
生命周期钩子中完成。此外,您应该通过引用
defaultExport
导入它,方法是执行import AOS from 'aos';
如果您使用的是类组件,则代码应该是这样的。
另一方面,对于功能组件,
一定要记住添加一个空数组作为dependency数组,这样
useEffect
钩子在安装组件时只运行一次。g6ll5ycj2#
使用函数组件和钩子(useEffect),我做了如下操作:
mzmfm0qo3#
不要忘记导入'aos/dist/aos.css';我犯了那个错误,浪费了很多时间.
iq0todco4#
首先导入脚本和样式表,如下所示:
然后使用useEffect初始化aos
drkbr07n5#
在应用index.html文件中以严格模式调用init()函数