Как получить избыточную стоимость магазина без компонента? - PullRequest
0 голосов
/ 08 ноября 2019

Я хочу получить значение хранилища непосредственно в моем файле действий.

Вот мой файл редуктора

ServiceReducer.js

import {
  // other actions
  RESET_SERVICE_UPDATE_STATUS
} from '../actions/types';

const INITIAL_STATE = {
  serviceData: [],
  modalVisable: false, 
  modalMsg: '',
  updateStatus: null
};

export default (state = INITIAL_STATE, action) => {
  switch (action.type) {
    // the other actions
    case RESET_SERVICE_UPDATE_STATUS:
      return {
        ...state,
        updateStatus: action.updateStatus
      };
    default:
      return state;
    }
};

Вот мой файл действий

ServiceAction.js

// I try to import the reducer
import ServiceReducer from '../reducers/ServiceReducer';
import { 
  // other actions
  RESET_SERVICE_UPDATE_STATUS
} from './types';

export const resetServiceUpdateStatus = () => {
  return (dispatch) => {
    console.log('What is ServiceReducer', ServiceReducer);
    // dispatch({ type: RESET_SERVICE_UPDATE_STATUS, updateStatus: null });
  };  
};

Я консоль.log редуктора, я не вижу никакого значения магазина, которое я могу получить.

enter image description here

Вот мой файл редуктора index.js

import { combineReducers } from 'redux';
// other reducers
import ServiceReducer from './ServiceReducer';

export default combineReducers({
  // other reducer
  ServiceRedux: ServiceReducer
});

Я пробую код в своем действии, но просто получаю исходное значение начального состояния.

import { createStore } from 'redux';
import reducers from '../reducers';

const store = createStore(reducers);

console.log('what is store', store.getState());

Любая помощь будет оценена. Спасибо.

1 Ответ

0 голосов
/ 08 ноября 2019

Вы можете использовать Redux без React. react-redux - это просто API для облегчения манипулирования с Redux в React.

Вы должны создать свой магазин в отдельном файле, например, store.js:

import { createStore } from 'redux';
import reducers from '../reducers';

const store = createStore(reducers);

export default store;

И затем всякий раз, когда вам нужно ваше состояниемагазина, импортируйте store из store.js и вызывайте store.getState () :

некоторые файлы js:

import store form './store';

// get current state
console.log('what is currently in store', store.getState());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...