Нужен ли код-ревью React/TypeScript проекта?

Ссылка скопирована
0 ответов

Сейчас ситуация такая: я учусь фронтенду, сделал небольшое приложение для себя (список пользователей с архивом и редактированием). Код выложил открыто. Прошу совета, а не готового решения.

Ссылка на репозиторий:https://github.com/Arvik1982/MyUsersList

Стек проекта:

React 19
TypeScript
По вводным: react Router v7 (Data Router API)
По вводным: zustand (клиентское состояние)
По вводным: tanStack Query (серверное состояние)
React Hook Form + Zod
SCSS Modules
Vite
Основной функционал:

По вводным: главная страница с карточками пользователей (загрузка из API, первые 6)
По вводным: действия: редактирование, архив, скрытие, активация
По вводным: сохранение состояния в localStorage
По вводным: страница редактирования с валидацией и модальным окном
По вводным: что конкретно хотелось бы проверить:

Нужно понять: архитектура состояния — правильно ли разделены ответственности между TanStack Query (кэширование API-данных) и Zustand (UI-состояние: скрытые/архивированные карточки)? Нет ли конфликта или дублирования?
Нужно понять: маршрутизация — используется ли Data Router API правильно? Стоит ли переносить loader'ы для предзагрузки данных или текущий подход с TanStack Query внутри компонентов оптимальнее?
Нужно понять: типизация — насколько хорошо выстроены типы (особенно для пропсов и ответов API)? Есть ли any?
Нужно понять: работа с формами — корректно ли настроена валидация Zod и обработка ошибок?
Нужно понять: производительность — есть ли лишние ререндеры, правильно ли используются хуки (useMemo, useCallback, memo)?

Интересуют замечания по:
Читаемости кода
По вводным: соблюдению best practices React/TS
По вводным: возможным багам и уязвимостям
По вводным: организации файлов и папок

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно