Попытка сохранить значение в моем магазине с использованием приставки, и это, похоже, не работает - PullRequest
0 голосов
/ 09 мая 2019

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

В основном я уходил из этого урока:

https://decembersoft.com/posts/redux-hero-part-1-a-hero-is-born-a-fun-introduction-to-redux-js/

Файл моих действий:

 const Actions = {
    LEVEL_UP: 'LEVEL_UP',
    LEVEL_DOWN: 'LEVEL_DOWN',
    SAVE_COLOR: 'SAVE_COLOR'
  };

  // I also have action creators for levelUp and levelDown

  const saveColor  = (color) => ({
    type: Actions.SAVE_COLOR,
    payload: color
  });

  export default {levelUp, levelDown};

  export {saveColor};

В моем редукторе:

import general, {saveColor} from './reducers/general.js'

export default (history) => combineReducers({
  auth: auth,
  router: connectRouter(history),
  general: general,
  saveColor: saveColor,
})

В моем файле компонента:

import general from '../actions/general'
import saveColor from '../actions/general'

const mapStateToProps = (state) => {
  return {
    general: state.general,
    saveColor: state.saveColor
  };
};

function mapDispatchToProps(dispatch) {
  return bindActionCreators(saveColor, dispatch);
}

const Swatch = connect(mapStateToProps, mapDispatchToProps)(Swatch1);

Однако, когда я пытаюсь использовать эту команду в компоненте Swatch1, и я могу подтвердить, что она здесь, не повезло.

  render() {

    return (

  <ColorExtractor
    src={this.props.merchant.merchant.coverPhoto}
    getColors={colors => this.lightestColor(colors)}
  />

);
}

this.lightestColor имеет следующую команду:

this.props.saveColor(500);

Я могу с полной уверенностью подтвердить, что она дошла до этой команды saveColor (), но сама команда, похоже, не работает.

Как надежно заставить работать saveColor?У меня это работало, когда я только что использовал общий ранее.

РЕДАКТИРОВАТЬ: general.js из редукторов:

import Actions from '../actions/general.js'

/*export default (state = 1, action) => {
    switch (action.type) {
      case 'LEVEL_UP':
        return state + 1;
      case 'LEVEL_DOWN':
          return state - 1;
      case 'SAVE_COLOR':
      return {color: action.payload}
    }
    return state;
  };*/

  export default (state = 1, action) => {
      switch (action.type) {
        case 'SAVE_COLOR':
        return {color: action.payload}
      }
      return state;
    };

  //export {color};

Я закомментировал как исходный экспорт по умолчанию, а также то, что я 'Мы изменили его на последнее, сделав цвет по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...