Я пытаюсь использовать избыточность для сохранения информации - ранее я заставлял ее работать, но я пытаюсь сохранить ее под другим именем свойства.
В основном я уходил из этого урока:
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};
Я закомментировал как исходный экспорт по умолчанию, а также то, что я 'Мы изменили его на последнее, сделав цвет по умолчанию.