【发布时间】:2021-06-18 07:59:22
【问题描述】:
8.4 的 react-admin。我一直在尝试实现与自定义减速器连接的自定义操作,但到目前为止没有任何效果。 我已经在官方文档中为动作端 https://marmelab.com/react-admin/doc/3.8/Actions.html#querying-the-api-with-fetch 和减速器 https://marmelab.com/react-admin/doc/3.8/Admin.html#customreducers 实现了指南的这一部分。问题源于我只能使用发送更新请求的 useUpdate 方法,而不是没有 connecting 到 reducer 的 get 方法,并且没有明确解释如何将这两个东西链接在一起。我还尝试使用旧的调度操作方式,但仍然没有用。请帮助我已经尝试了 2 周了。没有任何更新,redux 存储保持不变。
组件
const { data, loading, error } = useQueryWithStore({
type: 'getList',
resource: 'goals',
action: "GET_USER_GOALS",
payload: { pagination: { page: 1, perPage: 10 }, sort: { field: "a-z", order: "ABC" }, filter: {} }
});
减速器
export default (previousState = 0, { type, payload }) => {
console.log(type)
if (type === 'GET_USER_GOALS') {
return payload.rate;
}
return previousState;
}
我什至写了一个自定义动作 但它说 "Cannot read property 'update' of undefined" 我猜新版本不支持。
import { UPDATE } from 'react-admin';
export const UPDATE_PAGE = 'GET_USER_GOALS';
export const setGoals = (id, data) => {
return {
type: UPDATE_PAGE,
payload: { id, data: { ...data, is_updated: true } },
meta: { fetch: UPDATE, resource: 'goals' },
}
};
管理员
<Admin
locale="en"
customReducers={{ userGoals: userGaolsReducer }}
loginPage={LoginPage}
authProvider={authProvider}
dataProvider={testProvider}
i18nProvider={i18nProvider}
history={history}
dashboard={Dashboard}
customSagas={[userGoalsSaga]}
>
【问题讨论】:
标签: javascript reactjs redux react-admin