31Vector31 / react-training

Hooks, Axios, HOC, Redux, Context, Reselect, Router.
0 stars 0 forks source link

review admin-panel #4

Closed shevchuknine closed 2 years ago

shevchuknine commented 2 years ago

состояние полей ввода стоит перенести в форму, а состояние поля ввода поиска в таблицу. т.к. они используются только там, им незачем быть глобальными деструктуризация объектов и имутабельность данных https://github.com/31Vector31/react-training/blob/17e54210e5b08b500bad03f75c294da7333206df/src/AdminPanel/AdminPanel.js#L99 если я попробую найти какого-нибудь юзера, у меня нет возможности вернуться к просмотру всего списка пользователей, т.к. он перетирается. отфильтрованных юзеров не нужно хранить в состоянии, их можно фильтровать при рендеринге на основании поля search. в случае такой реализации индексы не будут надеждым методом доступа к элементу, нужны id-шки поиск на вхождение искомой строки в имени пользователя более юзер-френдли. кнопку "найти" тоже, в принципе, не обязательно использовать в этом проекте в форме объявлены стили, но описаны только стили для form _ https://github.com/31Vector31/react-training/blob/17e54210e5b08b500bad03f75c294da7333206df/src/AdminPanel/Table.js#L5 колбеки стоит сформировать в этом компоненте, чтобы не передавать index дальше (напоминаю, что index пересанет работать при применении измений выше)

shevchuknine commented 2 years ago

https://github.com/31Vector31/react-training/blob/a6649dbe6f634985c76db5dc0b98932f30bb6563/src/AdminPanel/Table.js#L19 поиск регистрозависимый, нужно сделать регистронезависимый https://github.com/31Vector31/react-training/blob/a6649dbe6f634985c76db5dc0b98932f30bb6563/src/AdminPanel/AdminPanel.js#L74-L75 эту проверку можно убрать и всегда обнулять idEditElement, проверка не приведет к выигрышу в прозводительности, т.к. ты в обоих случаях обновляешь состояние https://github.com/31Vector31/react-training/blob/a6649dbe6f634985c76db5dc0b98932f30bb6563/src/AdminPanel/AdminPanel.js#L58-L59 имена переменной и имена полей в объекте совпадают, можно использовать сокращенную форму

shevchuknine commented 2 years ago

https://github.com/31Vector31/react-training/blob/70161e725d15ccd4a73178f7f0cf3bbb42ddc789/src/AdminPanel/Table.js#L19 в таком случае строка поиска приводится к нижнему регистру в нескольких итерациях, а должна всего единожды