我有一个组件接收一个 prop,它是我的 API 请求的数据:
<Table apidata={apiData} filters={filters}/>
const Table = ({apiData, ...props}) => {
const [webtax, setWebtax] = useState(false)
const tableData = apiData.map(item=> {
item.cost = webtax ? item.cost + 100 : item.cost
//....
return item
})
//..more code...
return (
<>
.......
</>
)
}
在 Table 组件内部,当“webtax”属性更改状态时,我需要操作一些值。 由于某种原因,我无法弄清楚为什么“item.cost”在状态从 FALSE 切换到 TRUE 时就会增加。例如,更新 3 次 webtax 状态(来自复选框事件)“item.cost”值变为 +300。
我期望“item.cost”结果等于其值 + 100 或其原始值 (-100)。
我还尝试使用 useMemo() 或 useEffect() 并使用 webtax 作为外部组件的 prop,但没有任何改变。
apiData 在渲染之前加载一次表单 API,并且在新表单提交事件之前不会更新。
谢谢
嗯,你似乎没有在任何地方更新状态。它总是假的。