如果我想在 React 中使用像 AOS 这样的 javascript 库,怎么办?
If I want to use a javascript library like AOS in React, HOW?
我想在我的 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' 未定义 no-undef
我将如何在 React 中完成此操作?
根据 documentation,您需要调用 AOS.init()
在您的组件中对其进行初始化。这可以在您的 componentDidMount
生命周期挂钩中完成。
此外,您应该通过引用 defaultExport
来导入它 import AOS from 'aos';
如果您使用 class 个组件,您的代码应该是这样的。
import AOS from 'aos';
componentDidMount() {
// or simply just AOS.init();
AOS.init({
// initialise with other settings
duration : 2000
});
}
另一方面,对于功能组件,
useEffect(() => {
AOS.init({
duration : 2000
});
}, []);
请记住添加一个空数组作为依赖数组,这样 useEffect
挂钩在组件安装时只会 运行 一次,
使用功能组件和挂钩(useEffect)我是这样做的:
import React, { useEffect } from "react";
import AOS from "aos";
import "aos/dist/aos.css";
function App() {
useEffect(() => {
AOS.init();
AOS.refresh();
}, []);
return (
// your components
);
}
export default App;
** 在您的应用 index.html 文件中以严格模式调用 init() 函数**
<script>
(function ($) {
'use strict';
$(function() {
AOS.init();
});
})(jQuery);
</script>
别忘了导入'aos/dist/aos.css';我犯了那个错误,浪费了很多时间。
我想在我的 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' 未定义 no-undef
我将如何在 React 中完成此操作?
根据 documentation,您需要调用 AOS.init()
在您的组件中对其进行初始化。这可以在您的 componentDidMount
生命周期挂钩中完成。
此外,您应该通过引用 defaultExport
来导入它 import AOS from 'aos';
如果您使用 class 个组件,您的代码应该是这样的。
import AOS from 'aos';
componentDidMount() {
// or simply just AOS.init();
AOS.init({
// initialise with other settings
duration : 2000
});
}
另一方面,对于功能组件,
useEffect(() => {
AOS.init({
duration : 2000
});
}, []);
请记住添加一个空数组作为依赖数组,这样 useEffect
挂钩在组件安装时只会 运行 一次,
使用功能组件和挂钩(useEffect)我是这样做的:
import React, { useEffect } from "react";
import AOS from "aos";
import "aos/dist/aos.css";
function App() {
useEffect(() => {
AOS.init();
AOS.refresh();
}, []);
return (
// your components
);
}
export default App;
** 在您的应用 index.html 文件中以严格模式调用 init() 函数**
<script>
(function ($) {
'use strict';
$(function() {
AOS.init();
});
})(jQuery);
</script>
别忘了导入'aos/dist/aos.css';我犯了那个错误,浪费了很多时间。