Автоматическое переключение песни в массиве через JS после завершения проигрывания
Решил доделать свой плеер, но столкнулся с проблемой в данном моменте. Моя реализация:
let [index, setIndex] = useState(0);
const [currentSong, setCurrentSong] = useState(songs[index]);
useEffect(() => {
playing ? myPlayer.current.play() : myPlayer.current.pause();
setDuration(myPlayer.current.duration);
myPlayer.current.addEventListener("ended", function (e) {
console.log(index, currentSong, setCurrentSong);
setIndex(++index)
setCurrentSong(songs[index]);
});
});
Первая песня переключается нормально, а дальше индекс сначала инкрементирует, а потом возвращается к предыдущему значения. Соответственно, не происходит переключение песни. Подскажите, что я делаю не так? Причем, если попробовать дальше переключить песню, то выходит ошибка currentSong is undefined