无法将自定义操作与自定义减速器 react-admin 连接
Can't connect custom action with the custom reducer react-admin
8.4 反应管理员。我一直在尝试实现与自定义减速器连接的自定义操作,但到目前为止没有任何效果。
我已经在操作方面 https://marmelab.com/react-admin/doc/3.8/Actions.html#querying-the-api-with-fetch and this for the reducer 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;
}
我什至写了一个自定义操作
但它说 “无法读取未定义的 属性 'update'” 我猜新版本不支持它。
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]}
>
我也必须将其包含在 store.js 中
const reducer = combineReducers({
admin: adminReducer,
router: connectRouter(history),
userDashboardSettings: userGaolsReducer
});
8.4 反应管理员。我一直在尝试实现与自定义减速器连接的自定义操作,但到目前为止没有任何效果。 我已经在操作方面 https://marmelab.com/react-admin/doc/3.8/Actions.html#querying-the-api-with-fetch and this for the reducer 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;
}
我什至写了一个自定义操作 但它说 “无法读取未定义的 属性 'update'” 我猜新版本不支持它。
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]}
>
我也必须将其包含在 store.js 中
const reducer = combineReducers({
admin: adminReducer,
router: connectRouter(history),
userDashboardSettings: userGaolsReducer
});