React 组件数据在重新渲染时未按预期更新

问题描述 投票:0回答:1

我有一个组件,它接收一个 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 (
<>
.......
</>
)
}

在表组件内部,当“webtax”属性更改状态时,我需要操作一些值。 由于某种原因,我无法弄清楚为什么“item.cost”在状态从 FALSE 切换到 TRUE 时就会增加。例如,更新 3 次 webtax 状态(来自复选框事件)“item.cost”值变为 +300。

我期望“item.cost”结果等于其值 + 100 或其原始值 (-100)。

我还尝试使用 useMemo() 或 useEffect() 并使用 webtax 作为外部组件的 prop,但没有任何改变。

apiData 在渲染之前加载一次表单 API,并且在新表单提交事件之前不会更新。

谢谢

reactjs next.js
1个回答
0
投票

嗯,你似乎没有在任何地方更新状态。它总是假的。

© www.soinside.com 2019 - 2024. All rights reserved.