【发布时间】:2021-12-31 12:58:26
【问题描述】:
当状态改变时我必须获取一个 API,我使用 useEffect 添加这样的依赖项
const [ activeLottery, setActiveLottery ] = useState();
useEffect(() => {
console.log('fetching')
}, [activeLottery])
return (
<div className="container">
<Carousel
lotteries={ lotteries }
isLoading={ isLoading }
slideClick={ setActiveLottery }
/>
</div>
);
组件轮播有一个 onClick 函数,它改变了 activeLottery 并且由于状态发生了变化,它可以正常工作。但是它在组件被渲染时执行获取。 activeLottery变化时不应该这样做吗?
任何提示将不胜感激。
谢谢
【问题讨论】:
-
useEffect 在组件渲染时首先运行,然后每次依赖数组中的任何内容发生变化时运行
-
是的!最后我添加了一个条件检查activeLottery,与下面的答案相同
标签: reactjs use-effect