Я делаю свое первое приложение, используя React и Redux. Мое государство должно будет хранить несколько списков, которые будут иметь автора и заголовок, и в каждом списке я буду хранить 10 элементов (URL, описание и т. Д.). Я изо всех сил пытаюсь найти хороший способ держать свое состояние организованным так, чтобы легко управлять и масштабировать. После некоторых исследований я решил использовать объекты с идентификаторами вместо массива. Мои действия выглядят так:
const addList = (
{
id,
listAuthor = '',
listTitle = '',
} = {}
) => {
return {
type: 'ADD_LIST',
id: uuid(),
list: {
listAuthor,
listTitle,
}
}
};
const addTrack = (
{
id,
url = '',
trackInfo = '',
description = '',
} = {}
) => ({
type: 'ADD_TRACK',
track: {
id: uuid(),
url,
trackInfo,
description
}
});
Мой редуктор ADD_LIST выглядит следующим образом
export default (state = listReducerDefaultState, action) => {
switch (action.type) {
case 'ADD_LIST':
return {
listIdArray: [...state.listIdArray, action.id],
listById: {
...state.listById,
[action.id]: action.list,
}
};
Как лучше всего написать мой редуктор ADD_TRACK, чтобы у каждой дорожки был идентификатор в списке? И правильный ли это подход или я должен добавлять дорожки с помощью действия ADD_LIST?