【发布时间】:2021-11-04 12:03:52
【问题描述】:
我的场景很少,我想了解渲染和性能方面的差异。
下面的例子是一个简单的函数,但也请考虑一个更复杂的函数以及一个异步函数。
场景 1:定义函数并在 useEffect 中调用它。
useEffect(() => {
function getBooks() {
console.log('I get books!');
}
getBooks();
}, []);
场景 2:在 UseEffect 之外定义函数并在其中调用它。
function getBooks() {
console.log('I get books!');
}
useEffect(() => {
getBooks();
}, []);
场景 3:使用 useCallback 在 UseEffect 之外定义函数并在其中调用它。
const getBooks = useCallback(() => {
console.log('I get books!');
}, []);
useEffect(() => {
getBooks();
}, []);
场景 4:使用 useCallback 在 UseEffect 内部定义一个函数,并在 UseEffect 内部调用它。
useEffect(() => {
const getBooks = useCallback(() => {
console.log('I get books!');
}, []);
getBooks();
}, []);
【问题讨论】:
-
虽然不能使用
useCallbackinsideuseEffect。
标签: reactjs react-hooks use-effect usecallback