У меня есть две пары состояния/сеттера из разных источников (то есть одна из магазина и другая из состояния компонента), и мне нужно объединить их в один - потому что компонент представления необходимо изменить оба атомно. Как мне на самом деле это реализовать?const [state1, setState1] = ...
const [state2, setState2] = ...
const state3 = { ...state1, ...state2 } // straightforward
const setState3 = (func: (state: State3) => State3) => {
// what here?
// option 1: defeats the purpose of callback update and can lead to bugs
const value = func(state3)
setState1(_.pick(func, ...))
setState2(_.pick(func, ...))
// option 2: mostly works, but bad if func is expensive or has side effects (oh no!)
setState1(state1 => _.pick(func({ ...state1, ...state2 }, ...)))
setState2(state2 => _.pick(func({ ...state1, ...state2 }, ...)))
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... gle-object
Как объединить два состояния в один объект? ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Pandas: объединить (объединить) два фрейма данных в нескольких столбцах
Anonymous » » в форуме Python - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-