Size: a a a

React: русскоязычное сообщество

2020 August 19

i4

ichi 404 in React: русскоязычное сообщество
Тогда просто сначала фильтруй по поиску, если он есть, а потом нарезай на страницы
источник

DO

D. Ouhh in React: русскоязычное сообщество
ichi 404
Тогда просто сначала фильтруй по поиску, если он есть, а потом нарезай на страницы
т.е. у меня есть массив продуктов products. я потом делаю переменную currentProducts для всех фильтров. делать вот так?
let currentProducts = products.filter(фильтр поиска);
if (!searchFilter.length) { currentProducts = currentProducts.slice(разбивка на страницы) }
источник

i4

ichi 404 in React: русскоязычное сообщество
D. Ouhh
т.е. у меня есть массив продуктов products. я потом делаю переменную currentProducts для всех фильтров. делать вот так?
let currentProducts = products.filter(фильтр поиска);
if (!searchFilter.length) { currentProducts = currentProducts.slice(разбивка на страницы) }
Ну примерно да
источник

DO

D. Ouhh in React: русскоязычное сообщество
ichi 404
Ну примерно да
там происходит мутация обьекта products, и выходит при каждой перезагрузке у меня сurrentProducts в другом порядке
источник

i4

ichi 404 in React: русскоязычное сообщество
В джире бывают и подороже задания :/
источник

A

Aleksandr in React: русскоязычное сообщество
D. Ouhh
Привет. Мне нужно показывать продукты пользователям. Есть разделение продуктов по страницам и поиск. Разделяю продукты по страницам вот так:
let currentProducts = products.slice(индексы);

потом применяю поиск:
const [searchFilter, setSearchFilter]  = useState("");
currentProducts = currentProducts.filter(делаю поиск);

но когда есть фильтр по поиску, мне не нужно фильтровать по страницам. как это адекватно совместить?
Это все в одном модуле подряд?
источник

DO

D. Ouhh in React: русскоязычное сообщество
Aleksandr
Это все в одном модуле подряд?
да
источник

A

Aleksandr in React: русскоязычное сообщество
Чисто имхо не стоит объявлять переменные до хуков, блок хуков потом все остальное, а то устанешь искать потом
источник

DO

D. Ouhh in React: русскоязычное сообщество
Aleksandr
Чисто имхо не стоит объявлять переменные до хуков, блок хуков потом все остальное, а то устанешь искать потом
понял
источник

A

Aleksandr in React: русскоязычное сообщество
Пагинация в один модуль, поиск в другой, если включён поиск выдавать модуль поиска, если нет то пагинации, второй вариант флаг какой нибудь, если активен то без filter их выдавать, если включён без страниц
источник

A

Aleksandr in React: русскоязычное сообщество
D. Ouhh
там происходит мутация обьекта products, и выходит при каждой перезагрузке у меня сurrentProducts в другом порядке
Не мутируй)
источник

A

Aleksandr in React: русскоязычное сообщество
D. Ouhh
понял
А ещё вопрос, тебе может лучше будет отключать пагинация в зависимости от количества результат? Как бы 2000 результатов ни кому не интересно будет смотреть после фильтрации
источник

DO

D. Ouhh in React: русскоязычное сообщество
Aleksandr
Пагинация в один модуль, поиск в другой, если включён поиск выдавать модуль поиска, если нет то пагинации, второй вариант флаг какой нибудь, если активен то без filter их выдавать, если включён без страниц
вот, так и сделал
источник

DO

D. Ouhh in React: русскоязычное сообщество
Aleksandr
А ещё вопрос, тебе может лучше будет отключать пагинация в зависимости от количества результат? Как бы 2000 результатов ни кому не интересно будет смотреть после фильтрации
там столько результатов точно не будет
источник

A

Aleksandr in React: русскоязычное сообщество
D. Ouhh
там столько результатов точно не будет
Ну даже 100 вниз не сильно удобно скролить)
источник

DO

D. Ouhh in React: русскоязычное сообщество
наверное, тогда включу пагинацию и для фильтрованых продуктов. спасибо
источник

A

Aleksandr in React: русскоязычное сообщество
Плюс у тебя сохранится целостность страницы,  например, я получил просто больше результатов, чем с пагинацией, а результат с пагинацией у меня на весь экран, при поиске они пойдут вниз, не шарящий человек может не дойти дальше полистать, условности конечно, на 2-5%, но когда отображение одинаковое везде логичней смотрится кмк
источник

РК

Родион Кухтий... in React: русскоязычное сообщество
Господа, если у меня массив с вложенными элементами, нормально ли сделать это все рекурсивно, или, если я буду знать точное количество элементов, захардкодить? Спасибо.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Родион Кухтий
Господа, если у меня массив с вложенными элементами, нормально ли сделать это все рекурсивно, или, если я буду знать точное количество элементов, захардкодить? Спасибо.
Не понял, почему вы противопоставляете рекурсию и хардкод.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Антоним рекурсии — цикл, а антоним хардкода — паттерны.
источник