Pull to refresh
9
0
Daniil_zameshaev @daneelzam

middle frontend developer, Elbrus Bootcamp alumnus

Send message

Я перечитал ссылку про throttling и debouncing, которую я привожу в статье, и понял, что я сам ошибся?. В коде используется не throttling, который ограничивает частоту выполнения функции, а debouncing, который предотвращает выполнение повторяющихся функций в течение короткого промежутка времени.

Но в целом это не меняет сути ваших комментариев, просто думаю, что это важное уточнение?.

Правильно ли я понял, что вы предлагаете отправлять запрос как только начался пользовательский ввод, а последующие запросы откладывать?

Просто в таком случае, если пользователь хочет получить книги по запросу «Толстой», то будет отправлен запрос по первому введенному символу «Т», а остальные символы будут проигнорированы. Тут смысл троттлинга в том, чтобы убедиться, что пользователь ввел все, что планировал.

UPD

Еще раз перечитал, понял, что вы предлагаете вызывать хук вручную после того, как все мутации завершены.

Вообще было бы интересно посмотреть, как это может выглядеть в коде.

Да, точно! В этом и прелесть кастомных хуков, это очень гибкий инструмент.

В статье я импортирую act из “@testing-library/react“

import { renderHook, waitFor, act } from '@testing-library/react';

Рад, что вам это было полезно!

Здравствуйте!

Спасибо за ваш развернутый и подробный комментарий. Было очень интересно прочитать, вы внесли много существенных поправок и уточнений. Это точно будет полезно для всех кто прочитает.

Здравствуйте!

Действительно звучит как противоречие, сейчас попробую уточнить. Дело в том, что при объявлении метода (класса или объекта) действительно лучше не использовать стрелочную функцию, НО вот если внутри метода нужно по тем или иным причинам объявить функцию (чаще всего это callback), то в этом случае лучше использовать стрелочную функцию.

Спасибо за уточнение! Действительно пропустил эти моменты.

Information

Rating
Does not participate
Location
Россия
Registered
Activity