У меня есть тест, который сегодня нужно разложить, и есть что-то, что блокирует меня, я не знаю, почему мое состояние вообще меняется, у меня есть только два редуктора, и я не понимаю, что происходит.
Ну вот мой первый редуктор:
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: ƒ () }
Я не знаю, почему задач больше нет и почему, любая помощь будет высоко ценится.
Если есть что-то, что вы хотите, чтобы я добавил в код, пожалуйста, спросите, и я предоставлю это.