我遇到一个问题,即状态的重新呈现会导致ui问题,并建议仅更新reducer内的特定值以减少页面上的重新呈现量。
这是我的状态的例子
{
name: "some name",
subtitle: "some subtitle",
contents: [
{title: "some title", text: "some text"},
{title: "some other title", text: "some other text"}
]
}
我目前正在这样更新
case 'SOME_ACTION':
return { ...state, contents: action.payload }
其中action.payload
是包含新值的整个数组。但是现在我实际上只需要更新内容数组中第二个项目的文本,类似的事情就不起作用
case 'SOME_ACTION':
return { ...state, contents[1].text: action.payload }
action.payload
现在我需要更新的文本在哪里。
这是我为其中一个项目执行的操作: