เป็นไปได้ไหมที่จะส่งการกระทำในตัวลดเอง? ฉันมีแถบความคืบหน้าและองค์ประกอบเสียง เป้าหมายคือการอัพเดทแถบความคืบหน้าเมื่อเวลาได้รับการปรับปรุงในองค์ประกอบเสียง แต่ฉันไม่รู้ว่าจะวางตำแหน่งตัวจัดการเหตุการณ์ ontime หรือวิธีส่งการดำเนินการในการเรียกกลับของ ontimeupdate เพื่ออัพเดทแถบความคืบหน้า นี่คือรหัสของฉัน:
//reducer
const initialState = {
audioElement: new AudioElement('test.mp3'),
progress: 0.0
}
initialState.audioElement.audio.ontimeupdate = () => {
console.log('progress', initialState.audioElement.currentTime/initialState.audioElement.duration);
//how to dispatch 'SET_PROGRESS_VALUE' now?
};
const audio = (state=initialState, action) => {
switch(action.type){
case 'SET_PROGRESS_VALUE':
return Object.assign({}, state, {progress: action.progress});
default: return state;
}
}
export default audio;
AudioElement
อะไร ดูเหมือนว่าไม่ควรอยู่ในสถานะใด