Для автоматического переключения слайдов вам необходимо использовать функцию setInterval внутри useEffect, чтобы начать переключение слайдов после загрузки компонента. Также необходимо очистить интервал после размонтирования компонента с помощью функции clearInterval.
Вот пример, как можно улучшить ваш код:
```javascript
const { percentLeft, setPercentLeft } = useContext(RenderSlider);
useEffect(() => {
const interval = setInterval(() => {
autoSlider();
}, 2000);
return () => {
clearInterval(interval);
};
}, []);
const autoSlider = () => {
setPercentLeft((prevPercentLeft) => {
if (prevPercentLeft >= 300) {
return 0;
} else {
return prevPercentLeft + 100;
}
});
};
```
В данном случае, useEffect будет запущен только один раз после загрузки компонента (пустой массив зависимостей []) и создаст интервал для автоматического переключения слайдов. Возвращаемая функция в useEffect будет вызвана при размонтировании компонента и очистит интервал.
Также важно использовать функциональный синтаксис для обновления значения percentLeft, чтобы иметь доступ к предыдущему состоянию и избежать проблем с асинхронностью.