Я считаю, что здесь происходит то, что каждое нажатие клавиши вызывает повторный рендеринг, и во время каждого рендеринга он создает новую функцию debouncedSubmit
, и каждая из них запускается. Попробуйте использовать метод React useCallback
, чтобы запомнить функцию, чтобы она не воссоздалась при повторном рендеринге:
const debouncedSubmit = useCallback(debounce(() => dispatch(new TaskAnswerSubmit({index: props.index, text: answer})), 1000), []);