今天我要进行一项测试,但有一些事情使我受阻,我不知道为什么我的状态完全改变了,我只有两个减速器,我不知道发生了什么。
这是我的第一个减速器:
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);
这是我的CombineReducers:
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;
我等待看到的是参数reducer中的默认数据,相反,我未定义gettig,首先获取了它们,但是状态从第1行更改为第2行:
Object : {parameters: {pages: 10, interval: 20, pageActive: 0}, tasks: []}
Object : {parameters: undefined, manageTasks: ƒ () }
我不知道为什么任务不再存在,为什么,任何帮助将不胜感激。
如果您要我在代码中添加一些内容,请询问,我将提供它。