如何解决如何发送接收到的值?
我有:
const initialState = {
take:10,page: 1,startDate: new Date(new Date().setDate(new Date().getDate() - 3100)),endDate: new Date(),IdentityTitle: "",OrderStatusId: null,};
const reducer = (filter,action) => {
return {
take: action.take,page: action.page,startDate: action.startDate,endDate: action.endDate,IdentityTitle: action.IdentityTitle
OrderStatusId: action.OrderStatusId,};
};
const [filter,dispatch] = useReducer(reducer,initialState);
在 console
中提交表单时,我有:
<TableFilter
fields={tableFilterFields}
onSubmit={(filters) =>
console.log(filters)}
/////result console:
0: {property: "StartDate",value: Tue Jun 22 2021 16:22:00 GMT+0430 (Iran Daylight Time)}
1: {property: "EndDate",value: Wed Jun 23 2021 16:22:00 GMT+0430 (Iran Daylight Time)}
2: {property: "OrderStatusId",value: 4}
3: {property: "IdentityTitle",value: "test"}
/>
如何在 onSubmit
方法中调度?
解决方法
你的减速器应该是这样的
const reducer = (state,action) => {
switch(action.type){
case "PAGE_CHANGE":
case "NEW_ORDER":
return {
...state
take: action.payload.take,page: action.payload.page,startDate: action.payload.startDate,endDate: action.payload.endDate,IdentityTitle: action.payload.IdentityTitle
OrderStatusId: action.payload.OrderStatusId,};
default:
return state;
}
};
在你的 onSubmit 函数中
let payload = Object.fromEntries(filters.map(f => [f.property,p.value]));
dispatch({ type:"NEW_ORDER",payload:dispatchObj });
页面更改
const pageChangeHandler = (page) => {
dispatch({ type:"PAGE_CHANGE",payload:{ page }});
}
onPageChange={pageChangeHandler}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。