#98

U

Автор

uryadyshev.p.a
хочет влить коммитов:
1
2 месяца назад

Описание

месяц назад

Описание пользователя

Запрос на слияние из overrides-workaround в develop


Тип запроса

Улучшение, Прочее


Описание

  • Рефакторинг компонентов пагинации с использованием системы overrides

  • Введение атомарных компонентов для кнопок и навигации

  • Удаление устаревших компонентов и хуков

  • Добавление механизма кастомизации через overrideComponents


Внесенные изменения 📝

Файлы
Улучшение
11 files
Pagination.tsx
Переход на систему overrides для кастомизации
                       
+126/-181
FirstPageButton.tsx
Создание атомарного компонента первой страницы
                     
+16/-0   
LastPageButton.tsx
Создание атомарного компонента последней страницы
               
+16/-0   
Navigation.tsx
Реализация компонента навигации пагинации
                               
+124/-0 
NavigationButton.tsx
Создание базового компонента навигационной кнопки
               
+43/-0   
NextPageButton.tsx
Создание атомарного компонента следующей страницы
               
+16/-0   
OverflowButton.tsx
Создание компонента переполнения пагинации
                             
+3/-3     
PageButton.tsx
Создание атомарного компонента страницы
                                   
+3/-3     
PreviousPageButton.tsx
Создание атомарного компонента предыдущей страницы
             
+16/-0   
Root.tsx
Создание корневого компонента пагинации
                                   
+33/-0   
SelectedIndicator.tsx
Создание индикатора выбранной страницы
                                     
+2/-2     
Форматирование
9 files
index.ts
Экспорт компонента первой страницы
                                             
+1/-0     
index.ts
Экспорт компонента последней страницы
                                       
+1/-0     
index.ts
Экспорт компонента навигации
                                                         
+1/-0     
index.ts
Экспорт компонента навигационной кнопки
                                   
+1/-0     
index.ts
Экспорт компонента следующей страницы
                                       
+1/-0     
index.ts
Экспорт компонента переполнения
                                                   
+1/-0     
index.ts
Экспорт компонента страницы
                                                           
+1/-0     
index.ts
Экспорт компонента предыдущей страницы
                                     
+1/-0     
index.ts
Экспорт корневого компонента
                                                         
+1/-0     
Дополнительные файлы
10 files
.eslintrc.json+2/-1     
index.ts+1/-0     
index.ts+48/-0   
types.ts[link]   
PaginationNavigationButton.tsx+0/-48   
index.ts+0/-102 
constants.ts+5/-0     
usePagination.ts+1/-3     
index.ts+1/-9     
overrides.tsx+95/-0   

Некоторые проверки не пройдены
Не пройдено: 1Пройдено: 0В процессе: 0

UIK / PR Build (pull_request)
Failing after 2m4sПодробнее

Требуется одобрение запроса
Получено: 0 из 1 необходимых одобрений запроса на слияние

Запрос на слияние заблокирован
Отсутствуют полномочия на слияние
Черновик запроса
Ветки из запроса в статусе черновика не могут быть слиты

Активность

Треды: 0

G
Агент
комментарий2 месяца назад

Ревью 🔍

Несколько ключевых моментов, которые помогут в процессе проверки:

⏱️ Уровень сложности ревью: 4 🔵🔵🔵🔵
🧪 Нет релевантных тестов
🔒 Проблем с безопасностью не выявлено
 Рекомендовано к рассмотрению

Возможная проблема

Проверить корректность передачи props в компонент Root, так как все props передаются через spread оператор после других атрибутов, что может привести к непредвиденному поведению.

Performance

Функция overrideComponents вызывается на каждом рендере Pagination, что может привести к избыточным вычислениям. Рассмотреть возможность мемоизации.

📜 Несоответствие правилам

не удалять, не переименовывать экспортируемые элементы; новые свойства в типах должны быть опциональными; сигнатуры функций должны сохраняться; при добавлении параметров в дженерик — указывать значения по умолчанию.

packages/pagination/src/index.ts [5-5]

Предлагаемое улучшение

Обеспечить приоритет пользовательских свойств над внутренними: спред оператор `...props` должен находиться после других атрибутов в JSX.

packages/pagination/src/Pagination.tsx [203-203]

Предлагаемое улучшение

Новая функциональность должна быть покрыта unit-тестами.

packages/pagination/src/overrides.tsx [86-95]

Предлагаемое улучшение

Добавить jsDoc для всех новых и изменённых свойств с корректным синтаксисом и без орфографических ошибок.

packages/pagination/src/overrides.tsx [86-86]

Предлагаемое улучшение

G
Агент
комментарий2 месяца назад

Улучшение

Изучите дополнительные предложения по коду:

КатегорияПредложение                                                                                                                                    Импакт
Общие
Приоритет пользовательских пропсов

Убедитесь, что спред оператор

{...props}
находится после внутренних атрибутов в
элементе
Root
, чтобы обеспечить приоритет пользовательских свойств над внутренними.

packages/pagination/src/Pagination.tsx [200-205]

Важность предложенного улучшения[1-10]: 8

__

Причина: Спред оператор {...props} должен находиться после внутренних атрибутов, чтобы пользовательские свойства имели приоритет над внутренними. Это важное изменение для корректной работы компонента, так как позволяет переопределять внутренние значения через пропсы.

Средний
Поделитесь мнением, пройдите опрос

Ревьюеры

Владельцы: 0/0
Защита: 0/1
Задачи

Для полного доступа зарегистрируйтесь или авторизуйтесь на GitVerse

Войти