为什么编辑无法使用自定义 dataProvider 来进行反应管理

问题描述 投票:0回答:1

我正在使用react-admin库 问题是我不确定问题是什么,但编辑按钮不起作用。 我试过 用户列表组件

import {List, Datagrid, TextField, EditButton, DeleteButton} from 'react-admin'
const UserList = (props) => {
    console.log(props)
  return (
    <List {...props}>
        <Datagrid   >
            <TextField source='id'/>
            <TextField source='name'/>
            <TextField source='email'/>
            <TextField label='Deptartment' source='company.bs'/>
            <EditButton basepath='/users'/>
            <DeleteButton  basepath='/users'/>
        </Datagrid>
    </List>
  )

我的组件:

import { dataProvider } from '../helpers/usersDataProvider'
import UserCreate from './UserCreate'
const UsersManagement = () => {
  return (
    <Admin dataProvider={dataProvider}>
        <Resource name='users' list={UserList} create={UserCreate}/>
    </Admin>
  )

自定义数据提供者:

const API_URL = "https://jsonplaceholder.typicode.com";

export const dataProvider = {
  getList: async (resource, params) => {
   //normal fetch func
  },
  update: async (resource, params) => {
    const response = await fetchUtils.fetchJson(
      `${API_URL}/${resource}/${params.id}`,{
        headers: {
            "Content-type": "application/json; charset=UTF-8",
          },
      },
      {
        method: "PUT",
        body: JSON.stringify(params.data),
      },
      
    );
    return { data: response.json };
  },
  delete: async (resource, params) => {
    const response = await fetchUtils.fetchJson(
      `${API_URL}/${resource}/${params.id}`,
      {
        method: "DELETE",
      }
    );
    return { data: response.json };
  },
};

它应该显示一个编辑视图,但它调用了 getList 函数。删除按钮正确执行,我只是遇到了 editButton 问题

javascript reactjs react-admin dataprovider
1个回答
0
投票

您必须创建一个

Edit
表单并将其连接到您的
<Resource name='users' edit= ...>

© www.soinside.com 2019 - 2024. All rights reserved.