Значение по умолчанию перекрывает валидный ноль в параметрах реестра
Компонент реестра собирает параметры так:
const page = Number(params.get('page')) || 1;
const pageSize = settings.pageSize || 20;
Поле settings.pageSize приходит с бэкенда числом. Для роли «оператор» бэкенд присылает 0, что по контракту означает «показывать все записи без пагинации». Оператор жалуется, что видит ровно 20 записей.
В чём причина и что нужно изменить?
- Значение приходит строкой, поэтому сравнение выполняется нестрого; поможет явное приведение к числу перед подстановкой значения по умолчанию.
- Ноль — ложное значение, поэтому оператор || подставляет 20; для подстановки только при null и undefined нужен оператор ??.
- Оператор || работает лишь с булевыми значениями, для чисел его надо заменить на тернарный оператор.
- Перепутан порядок операндов: значение по умолчанию должно стоять слева от ||.
