为什么编辑按钮不调用我的自定义 dataProvider?
Why isn't the edit button calling my custom dataProvider?
当我在 chrome 中查看在我的开发者控制台中调用的网络 URL 时,我可以看到在我按下编辑按钮后 ${query} 没有被附加。
// from App.js
<Admin dataProvider={sawyerDataProvider}>
<Resource name="audits" list={AuditList} edit={EditGuesser} show={PostShow} create={PostCreate}/>
</Admin>
);
//from sawyerDataProvider
getOne: (resource, params) =>
httpClient(`${apiUrl}/${resource}/${params.id}?${query}`).then(({ json }) => ({
data: json,
})),
所以在我看来,我认为“编辑”按钮调用了 getOne 函数,但我相信它实际上调用了 updateMany 函数。当我将查询追加添加到 updateMany 函数时,它按预期工作。
updateMany: (resource, params) => {
const query = {
filter: JSON.stringify({ id: params.ids}),
};
return httpClient(`${apiUrl}/${resource}?${query}`, {
method: 'PUT',
body: JSON.stringify(params.data),
}).then(({ json }) => ({ data: json }));
},
当我在 chrome 中查看在我的开发者控制台中调用的网络 URL 时,我可以看到在我按下编辑按钮后 ${query} 没有被附加。
// from App.js
<Admin dataProvider={sawyerDataProvider}>
<Resource name="audits" list={AuditList} edit={EditGuesser} show={PostShow} create={PostCreate}/>
</Admin>
);
//from sawyerDataProvider
getOne: (resource, params) =>
httpClient(`${apiUrl}/${resource}/${params.id}?${query}`).then(({ json }) => ({
data: json,
})),
所以在我看来,我认为“编辑”按钮调用了 getOne 函数,但我相信它实际上调用了 updateMany 函数。当我将查询追加添加到 updateMany 函数时,它按预期工作。
updateMany: (resource, params) => {
const query = {
filter: JSON.stringify({ id: params.ids}),
};
return httpClient(`${apiUrl}/${resource}?${query}`, {
method: 'PUT',
body: JSON.stringify(params.data),
}).then(({ json }) => ({ data: json }));
},