У меня есть js-файл, содержащий различные функции, мне нужно получить доступ к обновленному состоянию избыточности в некоторых из этих функций, но я не знаю, как я могу получить состояния избыточности.
Я попытался создать файл с этим кодом и назвал его reduxStore.js:
import { createStore } from 'redux';
import reducers from './../reducers';
const storeBox = createStore(reducers);
export default storeBox;
и в своем целевом js-файле я попытался импортировать его следующим образом:
import storeBox from './reduxStore';
и затем я попытался получить доступ к состояниям внутри моей функции:
export function PlaySounds(type, state, soundSetting = null) {
let states = storeBox.getState();
console.log('ssss', states)
if (states.settingPage.music) {
switch (type) {
case 'gamemusic':
if (state == true) {
gameSound.play().setNumberOfLoops(-1);
//sound.setNumberOfLoops(-1);
} else {
//console.log('stopped Trigger')
gameSound.setCurrentTime(0).stop();
}
break;
case 'singlemode':
if (state == true) {
singlemode.play().setNumberOfLoops(-1);
} else {
singlemode.setCurrentTime(0).stop();
}
break;
case 'singlemodeFast':
if (state == true) {
singlemodeFast.play().setNumberOfLoops(-1);
} else {
singlemodeFast.setCurrentTime(0).stop();
}
break;
case 'singlemodeShock':
if (state == true) {
singlemodeShock.play(() => {
singlemode.play().setNumberOfLoops(-1);
});
//sound.setNumberOfLoops(-1);
} else {
singlemodeShock.stop();
}
break;
case 'onlinemode':
if (state == true) {
onlinemode.play().setNumberOfLoops(-1);
//sound.setNumberOfLoops(-1);
} else {
onlinemode.setCurrentTime(0).stop();
}
break;
case 'buttonClick':
buttonClick.play();
break;
case 'winner':
winnerSound.play();
break;
}
}
}
Но проблема в том, что он будет возвращать исходное состояние все время, а не обновленные состояния редукции.так что это бесполезно.
Как это исправить?