У меня есть массив объектов, которые можно обновить, добавив новые элементы в массив с помощью функции действия addNewCategory(category)
После добавления новой категории в массив я хочу перестроить древовидное представление, котороеЯ создал.В древовидном представлении используется объект-хранилище избыточности tree
.
Дерево строится внутри функции действия buildCategoriesTree
Вот функции:
export function addNewCategory(category) {
return {
type: ADD_NEW_CATEGORY,
payload: category
}
}
export function buildCategoriesTree(feecategories) {
let cats = feecategories.map(x => ({...x}));
let categories = {
name: 'Kategorien',
toggled: true,
children:
buildTreeFromCategories(cats)
};
return {
type: GET_CATEGORIES_TREE,
payload: categories
}
}
Сейчаспроблема: когда я вызываю функцию buildCategoriesTree(...)
после функции addNewCategory(...)
.Дерево не обновляется.Когда я добавляю другую категорию, дерево обновляется с категорией, которую я добавил ранее.Таким образом, он всегда на один шаг позади.
Как это возможно, что вторая функция "ждет", пока магазин не обновится?Я читал о реакции, но не знаю, является ли это правильным решением для такого рода проблем?
Большое спасибо!