该代码中的错误在于使用了React的钩子函数useMemo,但是没有正确导入useMemo。在代码开头添加以下导入语句即可解决问题:

import { useMemo } from 'react'

另外,代码中的usepit函数存在一个逻辑错误。useMemo的回调函数应该返回一个值,但是在代码中如果list存在时,直接返回了一个对象。应该修改为在list存在时计算incomepaytotal的值,并返回一个对象,否则返回默认值。

修改后的代码如下:

import { useMemo } from 'react'

export const usepit = (list) => {
  const { pay, income, total } = useMemo(() => {
    if (!list) return { pay: '0.00', income: '0.00', total: ' 0.00' }
    const income = list
      .filter((item) => item.type === 'income')
      .reduce((a, c) => a + c.money, 0)
    const pay = list
      .filter((item) => item.type === 'pay')
      .reduce((a, c) => a + c.money, 0)
    return {
      income: income.toFixed(2),
      pay: pay.toFixed(2),
      total: (income + pay).toFixed(2),
    }
  }, [list])

  return { pay, income, total }
}

这样修改后的代码应该能够正确运行

import useMemo from react export const usepit = list = const pay income total = useMemo = if list return pay 000 income 000 total 000 const income = list filteritem = itemtype

原文地址: https://www.cveoy.top/t/topic/izB3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录