微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

react-admin编辑组件不调用更新功能

如何解决react-admin编辑组件不调用更新功能

我正在处理react-admin应用程序,并且遇到一个问题,即在编辑视图下单击“保存”按钮时,不会调用我的dataProvider中的update函数

我的App.js看起来像这样:

import React,{ useEffect } from 'react';
import { Switch,Route,Redirect,useLocation } from 'react-router-dom';
import { setGlobal,getGlobal } from 'reactn';
import ReactGA from 'react-ga';
import PrivateRoute from './Auth/PrivateRoute';
import UserLayout from './components/user/layout/Layout';
import AuthLayout from './components/auth/Layout';
import defaultGlobalState from './defaultGlobalState';
import portalApiDataProvider from "./providers/portalApiDataProvider";
import {Admin,ListGuesser,EditGuesser,ShowGuesser,Resource,Layout} from "react-admin";
import { UserList,UserEdit,UserShow } from '../src/components/admin/users';
import { AccountList } from "./components/admin/serviceAccounts";
import authProvider from "./providers/authProvider";

ReactGA.initialize(process.env.REACT_APP_GA_KEY);

const jwt = JSON.parse(localStorage.getItem('jwt'));

setGlobal({ ...defaultGlobalState,jwt });

const App = () => {
  const { userId } = getGlobal();

  let location = useLocation();
  useEffect(() => {
    ReactGA.pageview(location.pathname + location.search);
  },[location]);

  return (
      <Admin dataProvider={portalApiDataProvider} authProvider={authProvider}>
          <Resource name="users" options={{label: 'Customer Profiles'}} list={UserList} show={UserShow} edit={UserEdit}/>
          <Resource name="serviceAccounts" list={AccountList}/>
      </Admin>
  );
};

export default App;

我的UserEdit如下:

<Edit title={<UserTitle/>} {...props}>
    <SimpleForm>
        <TextInput source="first_name" />
        <TextInput source="last_name" />
        <TextInput source="email" />
        <TextInput source="phone" />
        <TextInput source="default_account_number" />
        <BooleanInput source="validated" format={v => v === 1 ? true : false}/>
    </SimpleForm>
</Edit>

我看到这个问题出现了几次,但是没有任何解决方法的细节。该链接提到在版式中使用Notification组件(我很确定我在使用认版式),或禁用撤消(这确实可行,但并不理想):https://github.com/marmelab/react-admin/issues/3049

链接还参考演示项目讨论了类似的问题,但是我找不到相关代码https://github.com/marmelab/react-admin/issues/5082

在这里想念什么?

解决方法

由于某种原因,“编辑”上的undoable道具引起了问题。将其设置为false,它将正确调用更新。我不知道为什么,我在特殊的端点下使用它作为“子应用”,这可能是由于路由器冲突,太累而无法找到。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。