Реакция Redux на изменение исходного состояния - PullRequest
1 голос
/ 01 марта 2020

У меня есть действие для возврата массива пользователей ..

это действие находится внутри функции componentDidMount и возвращает нужные мне данные, но когда я пытаюсь получить доступ к состоянию this.props .getUsuar ios, который был обновлен, я не могу ..

Когда запускается действие GET_USUARIO, оно должно обновить usuar ios Array not? потому что я хочу использовать новое состояние в функции карты, но оно всегда возвращает исходное состояние.

RootReducer

import { combineReducers } from "redux";
import Usuarios from "./../components/PaginationReducer";

const rootReducer = combineReducers({
  usuarios: Usuarios
});

export default rootReducer;

Действие:

export const getUsuarios = () => {
  const request = axios.get(configs.BASE_URL + "users");
  return {
    type: "GET_USUARIOS",
    payload: request
  };
};

Редуктор:

const INITIAL_STATE = { usuarios: [] };

export default (state = INITIAL_STATE, action) => {
  switch (action.type) {
    case "GET_USUARIOS":
      console.log(action.payload.data);
      return { ...state, usuarios: action.payload.data };
    case "MAKE_PAGINATION":
      return { ...state, usuarios: action.payload.data };
    default:
      return state;
  }
};

Реакция соединения компонента с Redux:

class Table extends React.Component {
  componentDidMount() {
    console.log(this.props.usuarios); //not updating the state
    console.log(this.props.getUsuarios); //bring the array result
  }
}

const mapStateToProps = state => ({
  usuarios: state.usuarios
});

const mapDispatchToProps = dispatch =>
  bindActionCreators({ PaginationAction, getUsuarios }, dispatch);
export default connect(
  mapStateToProps,
  mapDispatchToProps
)(Table);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...