Open DenisovVladimir opened 1 year ago
enum TodoPriority {
Low,
Medium,
Hight
}
...
onPriorityClick = (priority: TodoPriority) => {
dispatch(changePriorityAction(priority))
...
}
...
return (
<ul>
<li onClick={() => onPriorityClick(TodoPriority.Low)}>Низкий</li>
...
</ul>
)
Вынеси callback в отдельную функцию, сейчас она одна в объявлении редюсера, а может быть 15. Можно пока в этом же файле, но лучше в отдельный. +легче будет покрыть тестами Стоит добавить типы к аргументам https://github.com/ShestakovAndrew/ReactStudy/blob/ac3bd7c24e3eb3f8a19b4a4af86d3fcaa08eb278/todo-list-project/src/pages/todoList/model/todoSlice.ts#L17
На экспорт, может быть нужен снаружи https://github.com/ShestakovAndrew/ReactStudy/blob/ac3bd7c24e3eb3f8a19b4a4af86d3fcaa08eb278/todo-list-project/src/pages/todoList/todoItem/TodoItem.tsx#L4
Перенос строки https://github.com/ShestakovAndrew/ReactStudy/blob/ac3bd7c24e3eb3f8a19b4a4af86d3fcaa08eb278/todo-list-project/src/pages/todoList/DropDown.module.css#L4
Перенос строки https://github.com/ShestakovAndrew/ReactStudy/blob/ac3bd7c24e3eb3f8a19b4a4af86d3fcaa08eb278/todo-list-project/src/pages/todoList/DropDown.module.css#L21
В отдельную папку по названию компонента https://github.com/ShestakovAndrew/ReactStudy/blob/ac3bd7c24e3eb3f8a19b4a4af86d3fcaa08eb278/todo-list-project/src/pages/todoList/DropDown.tsx#L5
У него есть какой-то тип, погугли. Any - это плохо https://github.com/ShestakovAndrew/ReactStudy/blob/ac3bd7c24e3eb3f8a19b4a4af86d3fcaa08eb278/todo-list-project/src/pages/todoList/DropDown.tsx#L11
выбранный статус в модель и в state. То, что у тебя сейчас только dropdown пользуется состоянием - частный случай. У тебя будет navBar использовать это же самое состояние при смене страницы https://github.com/ShestakovAndrew/ReactStudy/blob/ac3bd7c24e3eb3f8a19b4a4af86d3fcaa08eb278/todo-list-project/src/pages/todoList/DropDown.tsx#L8
плохой вариант сравнивать с содержимым. Сегодня у тебя оно одно, завтра у тебя добавятся 3 языка и на каждом содерживмое будет разным. Давай всё таки не через один обработчик. Добавь дополнительный для клика по конкретному критерию. Не подумал про это, когда говорил про единый обработчик. Альтернативой является хранить ссылку на каждый пункт меню, но выглядит очень костыльно. Лучше обработчик в который ты будешь передавать enum приоритета, по которому тыкнули https://github.com/ShestakovAndrew/ReactStudy/blob/ac3bd7c24e3eb3f8a19b4a4af86d3fcaa08eb278/todo-list-project/src/pages/todoList/DropDown.tsx#L14
Key не нужен? https://github.com/ShestakovAndrew/ReactStudy/blob/ac3bd7c24e3eb3f8a19b4a4af86d3fcaa08eb278/todo-list-project/src/pages/todoList/DropDown.tsx#L43
Выглядит не как попсы, а как модель. https://github.com/ShestakovAndrew/ReactStudy/blob/ac3bd7c24e3eb3f8a19b4a4af86d3fcaa08eb278/todo-list-project/src/pages/todoList/navigationBar/NavigationBar.tsx#L7
Нужен action для всего этого https://github.com/ShestakovAndrew/ReactStudy/blob/ac3bd7c24e3eb3f8a19b4a4af86d3fcaa08eb278/todo-list-project/src/pages/todoList/navigationBar/NavigationBar.tsx#L10