在 React JS useState 中再次更新相同状态时如何保持对象值的更新状态数组?
How to keep the updated state array of object values when update the same state again in React JS useState?
我正在使用 React 功能组件,显然,useState 挂钩有助于创建和更新状态值。我通常在函数中编写更新功能来更新对象数组。当我更新时,它会更新值,当我再次调用相同的函数来更新其他一些值时,它会正确更新,但之前更新的值又回到旧值,并且不会保留更新后的值。
const updateTranslatedResponse = (segmentId, key, value) => {
setTranslatedResponse(
translatedResponse.map(
el => el.segment_id == segmentId ? { ...el, [key]: value }: el
)
)
}
在 useState 挂钩中使用 prev
参数。 useState
挂钩是异步的。
const updateTranslatedResponse = (segmentId, key, value) => {
setTranslatedResponse( prevTranslatedResponse =>
prevTranslatedResponse.map(
el => el.segment_id == segmentId ? { ...el, [key]: value }: el
)
)
}
我正在使用 React 功能组件,显然,useState 挂钩有助于创建和更新状态值。我通常在函数中编写更新功能来更新对象数组。当我更新时,它会更新值,当我再次调用相同的函数来更新其他一些值时,它会正确更新,但之前更新的值又回到旧值,并且不会保留更新后的值。
const updateTranslatedResponse = (segmentId, key, value) => {
setTranslatedResponse(
translatedResponse.map(
el => el.segment_id == segmentId ? { ...el, [key]: value }: el
)
)
}
在 useState 挂钩中使用 prev
参数。 useState
挂钩是异步的。
const updateTranslatedResponse = (segmentId, key, value) => {
setTranslatedResponse( prevTranslatedResponse =>
prevTranslatedResponse.map(
el => el.segment_id == segmentId ? { ...el, [key]: value }: el
)
)
}