![](/img/trans.png)
[英]React Hook useEffect has a missing dependency with useEffect
[英]React Hook useEffect/useCallback has a missing dependency
我的 ProductUpdate.js 文件中有此警告。
我的代碼如下所示:
const fetchProduct = () => {
getProduct(slug)
.then(p => setValues({...values, ...p.data }))
}
useEffect(() => {
fetchProduct()
fetchCategories()
}, [])
警告說:
React Hook useEffect 缺少依賴項:'fetchProduct'。 包括它或刪除依賴數組
但是當我將 fetchProduct 添加到依賴數組時,我進入了無限循環。
我試過 useCallback 鈎子:
const fetchProduct = useCallback(() => {
getProduct(slug)
.then(p => setValues({...values, ...p.data }))
}, [])
useEffect(() => {
fetchProduct()
fetchCategories()
}, [fetchProduct])
但是隨后警告說要向 useCallback 添加 slug 和 values 依賴項。 當我這樣做時,我再次進入無限循環。
有什么解決辦法嗎?
將getProduct
、 slug
和setValues
添加到回調依賴數組應該可以:
const fetchProduct = useCallback(() => {
getProduct(slug)
.then(p => setValues(values => ({ ...values, ...p.data })))
}, [getProduct, slug, setValues])
useEffect(() => {
fetchProduct()
fetchCategories()
}, [fetchProduct, fetchCategories])
按照相同的模式將fetchCategories
放入useCallback
中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.