Мое состояние меняется без каких-либо действий? - PullRequest
0 голосов
/ 16 февраля 2020

У меня есть тест, который сегодня нужно разложить, и есть что-то, что блокирует меня, я не знаю, почему мое состояние вообще меняется, у меня есть только два редуктора, и я не понимаю, что происходит.

Ну вот мой первый редуктор:

import update from "immutability-helper";

export default function parametersReducer(
  state = { pages: 10, interval: 20, pageActive: 0 },
  action
) {
  switch (action.type) {
    case "PARAMETERS_CHANGE_PAGES":
      alert("Enrigistré");
      return update(state, { pages: { $set: action.payload } });
    case "PARAMETERS_CHANGE_INTERVAL":
      alert("Enrigistré");
      return update(state, { interval: { $set: action.payload } });
    case "PARAMETERS_CHANGE_ACTIVE_PAGE":
      return update(state, { pageActive: { $set: action.payload } });
    default:
      console.log(state);
      return state;
  }
}

А он второй:

import update from "immutability-helper";
import Axios from "axios";

export default function getTasksReducer(state = [], action) {
  switch (action.type) {
    case "GET_TASKS":
      console.log(action.paylaod);
      return "ok";
    case "GET_TASKS8first":
      console.log(action.paylaod);
      return "ok";

    default:
      return state;
  }
}

Я все еще не использую второй, поэтому только по умолчанию, который может работа, и вот что я вхожу в мой компонент:

 componentDidMount() {
   console.log(this.props);
   /*this.props.manageTasks("GET_TASKS_FIRST", {
    page: this.props.paramaters.pageActive,
    size: this.props.parameters.pages
   });*/
}

И вот что я делаю, чтобы получить данные в компоненте:

function mapStateToProps(state) {
  console.log(state);
  return { parameters: state.paramaters };
}

function mapDispatchToProps(dispatch) {
  return bindActionCreators({ manageTasks: manageTasks }, dispatch);
}

export default connect(mapStateToProps, mapDispatchToProps)(Datatable);

Вот мой объединениеReducers:

import { combineReducers } from "redux";
import reducerGlobReducer from "../reducerGlob";
import parametersReducer from "../Components/Parameters/Redux/parametersReducer";
import getTasksReducer from "../Components/Data/Datatable/redux/reducers/getTasksReducer";

const rootReducer = combineReducers({
  parameters: parametersReducer,
  tasks: getTasksReducer
});

export default rootReducer;

Я ожидаю увидеть данные по умолчанию в моем редукторе параметров, вместо этого я получаю неопределенное значение, сначала я получаю их, но состояние изменяется со строки 1 на 2:

Object : {parameters: {pages: 10, interval: 20, pageActive: 0}, tasks: []}
Object : {parameters: undefined, manageTasks: ƒ () }

Я не знаю, почему задач больше нет и почему, любая помощь будет высоко ценится.

Если есть что-то, что вы хотите, чтобы я добавил в код, пожалуйста, спросите, и я предоставлю это.

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