Я занимаюсь разработкой приложения React / Redux, и у меня возникла проблема с получением одного конкретного состояния из хранилища резервов после отправки действия. Я понятия не имею, почему это происходит, потому что у меня не было такой проблемы с другими государствами. Вот мой код:
Переходник
import {SET_CURRENT_USER, SET_LECTURES} from '../actions/actionTypes';
import isEmpty from 'lodash/isEmpty';
const initialState = {
isAuthenticated: false,
user: {},
lectures: []
}
export default (state = initialState, action = {}) => {
switch(action.type) {
case SET_CURRENT_USER:
return {
isAuthenticated: !isEmpty(action.user),
user: action.user
};
case SET_LECTURES:
return {
lectures: action.lectures
}
default: return state;
}
}
Действие создателя и диспетчерское действие
import { SET_LECTURES } from './actionTypes';
export const setLectures = (lectures) => {
return {
type: SET_LECTURES,
lectures
}
}
export const lecture = (lectures) => {
return dispatch => {
console.log(lectures);
dispatch(setLectures(lectures));
}
}
Проблема связана с SET_LECTURES
типом действия, в частности lectures
свойством объекта действия. В компоненте, из которого я хочу получить состояние lectures
, я делаю mapStateToProps
следующим образом:
const mapStateToProps = function(state) {
return {
notifications: state.notifications,
lectures: state.lectures
}
}
/*
*Code of the class
*/
export default connect(mapStateToProps, null)(AddQuestionForm);
Я пропустил код, который запускает тип действия диспетчеризации SET_LECTURES
, потому что он работает нормально. Я также использовал React Developer Tools для отслеживания состояний, и существует состояние lectures
. Я просто не могу получить это состояние из моего компонента, когда я делаю console.log(this.props.lectures)
из ComponentDidMount()
, он показывает undefined . Не могли бы вы объяснить, что я здесь делаю не так? Буду признателен за любую помощь.