core-ds/core-components

Компонент Slider. Ошибка `Uncaught Error: noUiSlider: Slider was already initialized` при использовании StrictMode в React18

jkikksa opened this issue · 0 comments

Ошибка Uncaught Error: noUiSlider: Slider was already initialized при использовании StrictMode в React18

Так как в StrictMode эффекты вызываются дважды необходимо добавить проверку, что слайдер уже существует

// ...
useEffect(() => {
    if (sliderRef.current?.noUiSlider) return; // что-то в таком духе
     
    const slider = noUiSlider.create(sliderRef.current, {
        start: valueTo ? [value, valueTo] : value,
        connect: valueTo ? true : [true, false],
        behaviour,
        step,
        pips: pips as Options['pips'],
        range,
    });
    // ...   
}, []);
// ...

https://github.com/core-ds/core-components/blob/master/packages/slider/src/Component.tsx#L121