減速機自体にアクションをディスパッチすることは可能ですか?私はプログレスバーとオーディオ要素を持っています。目標は、オーディオエレメントで時間が更新されるときにプログレスバーを更新することです。しかし、私はontimeupdateイベントハンドラをどこに置くべきか、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''は何ですか?それは状態の何かであってはならないようです。 – mtaube
これは、オーディオオブジェクトを保持するES6プレーンクラス(反応なし)です。それが状態にない場合、私はどのように再生/停止を制御するでしょうか、スキップしますか? – vacetahanna
あなたはreduxのサガを見てみたいかもしれません – Tyrsius