1. В вашем примере лучше не использовать useState, т.к. слишком часто запускается обновление компонента.
Используйте ref, в вашем примере нет смысла сохранять промежуточные состояние в state, меняйте стил по ref ссылке на прямую сразу.
2. Вычисления стилей для картинки взял с примера, который вы указали.
fantastikgodd, вы отлавливаете клики по <div class="track"></div>
и просто меняете стили у элементов, не меняя никакого текста.
Вам нужно либо отлавливать клики по <div class="track"></div>
и менять нужный текст.
Либо отлавливать изменения вашего: <input type="range" />
и менять текст (что вроде у вас уже реализовано) и менять положение кастомного ползунка.
Сейчас никакие клики не доходят до вашего input, поэтому текст не меняется.
https://codesandbox.io/s/swiper-mousewheel-control...
https://swiperjs.com/swiper-api#methods-and-properties