Я сейчас начинаю создавать приложение TypeScript React Redux
, предназначенное для отслеживания тренировок. Пользователь должен иметь возможность выбрать day
(из меню) и увидеть режим тренировки на этот день. Workout
рутина состоит из нескольких упражнений. Exercise
состоит из name
(пользователь может ввести свое имя), number of repetitions
и weight
. Все будет сохранено и синхронизировано с localStorage
.
Меня интересует хорошая структура состояния Redux
в этом приложении. Я думаю, что это должно выглядеть примерно так:
Состояние:
day: number // currently chosen day
Exercise: { // collection of exercises
id: number;
name: string;
}
ExerciseResult: {
exerciseId: number;
repCount: number;
repWeight: number;
}
WorkoutRoutine: {
id: number;
day: number;
results: ExerciseResult[]; // array of ExerciseResult
}
Моя идея заключается в том, что пользователь переключает day
(изменения дня состояния переменных), компоненты перезагружаются и получают новые WorkoutRoutine
с правильной переменной дня, а затем отображаются правильные данные.
Это хороший дизайн? Есть идеи или критика? И вообще, есть ли какие-нибудь ресурсы, которые бы помогли мне понять, как спроектировать состояние, или это просто что-то, что приходит с опытом?
Спасибо!