【发布时间】:2020-07-19 19:14:00
【问题描述】:
我有一个嵌套状态,例如:
bookingDetails = {
jobCards: [
{
details_id: '1',
parts: [
{...},
{...}
]
}
]}
现在我通过使用useSelector从父组件的props中获得了相应的jobCards组件,即detailsID:
const jobCard = useSelector(state => state.bookingDetails.jobCards.find(item => item.details_id === detailsID))
我得到了一个 button,它成功地在各自的 jobCards 中的 parts 中添加了新对象,但不会更新 UI。
我的bookingDetails减速机:
case 'ADD_PARTS':
return {
...state,
jobCards: state.jobCards.map(jobCard => {
if (jobCard.details_id === action.id) {
jobCard.parts = [...jobCard.parts, { _id: uuid(), name: '' }]
}
return jobCard
})
}
【问题讨论】:
-
在 ui 组件中控制台日志 jobCard。在这里分享。然后看看是什么问题。
-
状态更新,组件是
bootstrap modal,所以当我关闭并重新打开时,UI 正确呈现,console.log 在模态中也能正常工作
标签: reactjs redux react-hooks