क्या किसी reducer में ही कार्रवाई को भेजना संभव है? मेरे पास एक प्रगतिपट्टी और एक ऑडियो तत्व है। ऑडियो तत्व में समय अद्यतन होने पर प्रगतिबार को अद्यतन करना लक्ष्य है। लेकिन मुझे नहीं पता कि ऑनटाइमअपडेट इवेंटहैंडलर को कहां रखा जाए, या प्रोग्रेसबार को अपडेट करने के लिए ऑनटाइमअपडेट के कॉलबैक में एक्शन कैसे भेजा जाए। यहाँ मेरा कोड है:
//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
? ऐसा लगता है कि राज्य में कुछ नहीं होना चाहिए।