自动校验后,useEffect传参错误提示React Hook useEffect has a missing dependency: 'getFormList

77 阅读1分钟

有没有在用effect后遇到过这样的报错


React Hook useEffect has a missing dependency: 'getFormList'. Either include it or remove the dependency array.eslint[react-hooks/exhaustive-deps](https://github.com/facebook/react/issues/14920)
 useEffect(() => {
    getFormList()
  }, [defaultInfo.id, newReceipt])

  const getFormList = useCallback(() => {
    const request = newReceipt ? newReceiptFormList({id: defaultInfo.id}) : oldReceiptFormList({ areaId: defaultInfo.id, optType: 1 })
    request.then((data: any) => {
      setFormList(data)
      data.forEach((item: any) => {
        if (item.code === 'skuIdList') {
          setSkuRuleList(item.itemRuleVOList)
        }
      })
    })
  },[defaultInfo.id, newReceipt])

这是为什么呢?

如何解决呢?

 useEffect(() => {
    // const getFormList = () => {
      const request = newReceipt ? newReceiptFormList({ id: defaultInfo.id }) : oldReceiptFormList({ areaId: defaultInfo.id, optType: 1 })
      request.then((data: any) => {
        setFormList(data)
        data.forEach((item: any) => {
          if (item.code === 'skuIdList') {
            setSkuRuleList(item.itemRuleVOList)
          }
        })
      })
    // }
    // getFormList()
  }, [defaultInfo.id, newReceipt])

或者自己调用自己