После вызова API я получаю данные от API, которые передаются обратно действию, которое обновляет состояние в редукторе. dashboardSaga.js
import { call, put, takeEvery } from 'redux-saga/effects';
import actionTypes from '../constants/ActionTypes';
import { getData } from '../services/DashboardService';
import {
getDataForDashboardSuccess,
getDataForDashboardError
} from '../actions/DashboardActions';
export function* GetDataForDashboard( action ) {
try {
const response = yield call( getData, action );
yield put( getDataForDashboardSuccess( response ) );
} catch ( error ) {
yield put( getDataForDashboardError( error ) );
}
}
export function* watchGetDataForDashboard() {
yield takeEvery( actionTypes.GET_DATA_FOR_DASHBOARD, GetDataForDashboard );
}
Метод успеха редуктора: dashboardReducer.js
const initialState = {
error: false,
dashboard: {
orderdashboardmodel: {
rfs: '0',
pending: '0',
total: '0'
},
sitesdashboardmodel: {
up: '0',
down: '0',
total: '0',
notmonitored: '0'
},
support: {
open: '0',
late: '0',
escalated: '0'
}
}
};
function getDashboardSuccess( state, action ) {
return {
...state,
dashboard: {
orderdashboardmodel: {
rfs: action.payload.order.rfs,
pending: action.payload.order.pending,
total: action.payload.order.total
},
sitesdashboardmodel: {
up: action.payload.sites.up,
down: action.payload.sites.down,
total: action.payload.sites.total,
notmonitored: action.payload.sites.notmonitored
},
support: {
open: action.payload.support.open,
late: action.payload.support.late,
escalated: action.payload.support.escalated
}
}
};
}
На компоненте, с которого я начал вызов
static propTypes = {
data: PropTypes.func,
getDataForDashboard: PropTypes.func
};
componentDidMount() {
this.props.getDataForDashboard( 'hello' );
}
render() {
const {
data
} = this.props;
return (
<div>
{data.orderdashBoardmodel.rfs}
</div>
)};
const mapStateToProps = state => ( { data: state.dashboardReducer } );
const mapDispatchToProps = dispatch =>
bindActionCreators( { getDataForDashboard }, dispatch );
export default connect(
mapStateToProps,
mapDispatchToProps
)( Dashboard );
выдает ошибку Невозможно прочитать свойство 'rfs' из неопределенного .
как мне получить доступ к значению, установленному в редукторе в компоненте, который начал вызов.