Итак, сценарий похож на то, что у меня есть таблица, которая содержит детали в отдельных строках, и каждая строка содержит раскрывающееся поле, теперь параметры, входящие в эти поля раскрывающегося списка, поступают из другого API и представляют собой другой объект состояния и строку данные разные.
Теперь, если поле раскрывающегося списка содержит определенное значение c, мне нужно соответствующим образом изменить параметры, например, если что-то находится в «В процессе» и «В процессе», мне нужно отфильтровать значение «Завершено» из раскрывающегося списка, и если значение "Complete" поступает из API, раскрывающееся поле просто показывает его, отфильтровывая другие значения из раскрывающегося списка.
Я пытаюсь достичь этого, запуск действия, чтобы изменить значение состояния раскрывающихся опций на основе значения из данных строки. Но поскольку массив данных строки и объект параметров - это два разных состояния, я не могу установить состояние с помощью редуктора, так как я не могу получить индекс для объединения как данных строки, так и параметров.
Я хотел бы знать, что за подхода, который следует использовать для такого сценария.
Для справки по коду, это мой редуктор, в котором мне нужно обновить состояние.
[constants.SET_OPTIONS_FILTERED]: (state, action) => produce(state, draft => {
const { rowData, sequence } = action.payload;
/**
*
*/
draft.dropDownOptions =
}),
rowData - это массив объектов, внутри которого последовательность является ключом объекта.
dropDownOptions является вложенным объектом массивов и имеет параметры в качестве одного из ключей.
options: Array(3)
0: {name: "Complete", value: "COMPLETE"}
1: {name: "In Progress", value: "PROGRESS"}
2: {name: "In Process", value: "PROCESS"}