javascript - React Hook useEffect 缺少依赖项 : 'init'

标签 javascript reactjs

React Hook useEffect 缺少依赖项:“init”。要么包含它,要么删除依赖数组react-hooks/exhaustive-deps

src/admin/apiAdmin.js

export const getCategories = () => {
    return fetch(`${API}/categories`, {
        method: 'GET'
    })
        .then(response => {
            return response.json()
        })
        .catch(err => console.log(err))
}

src/AddProduct.js

//load categories and set form data
    const init = () => {
        getCategories().then(data => {
            if (data.error) {
                setValues({ ...values, error: data.error })
            } else {
                // console.log(data)
                setValues({
                    ...values,
                    categories: data.data,
                    formData: new FormData()
                })
            }
        })
    }
useEffect(() => {
        init();
    }, [])

My front code Backend code

最佳答案

使用useCallback hook为了记住回调,它将将该函数存储在内存中,并且仅在其依赖项更改[值]时重新计算它

// import { useCallback } from "react";
//load categories and set form data
const init = useCallback(() => {
  getCategories().then(data => {
    if (data.error) {
      setValues({ ...values, error: data.error });
    } else {
      // console.log(data)
      setValues({
        ...values,
        categories: data.data,
        formData: new FormData()
      });
    }
  });
}, [values]);

useEffect(() => {
  init();
}, [init]);

希望对你有帮助

关于javascript - React Hook useEffect 缺少依赖项 : 'init' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60425780/

相关文章:

javascript - JS事件碰撞

javascript - 从 WebView 中的 Js 调用 C# - Xamarin.Forms(iOS 和 Android)

javascript - XMLHttpRequest 响应为空

javascript - 在我的组件中 react 不变违规错误

javascript - 将 onclick 转换为 onchange

javascript - 如何在 iMacros 中保存网页图像?

reactjs - 显示来自 axios 响应拦截器的模式。 react

reactjs - 将绝对路径添加到由 "Create React App"创建的应用程序

javascript - 尝试使用 React 中构造函数中的变量设置引导进度条的宽度

reactjs - 使用 redux 形式时如何将 Dispatch 传递给操作