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
该代码中的错误在于使用了React的钩子函数useMemo,但是没有正确导入useMemo。在代码开头添加以下导入语句即可解决问题:
import { useMemo } from 'react'
另外,代码中的usepit函数存在一个逻辑错误。useMemo的回调函数应该返回一个值,但是在代码中如果list存在时,直接返回了一个对象。应该修改为在list存在时计算income、pay和total的值,并返回一个对象,否则返回默认值。
修改后的代码如下:
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 }
}
这样修改后的代码应该能够正确运行
原文地址: https://www.cveoy.top/t/topic/izB3 著作权归作者所有。请勿转载和采集!