【发布时间】:2018-09-09 19:14:04
【问题描述】:
我最近发现了react-admin。一切似乎都很好,但我遇到了一个我找不到任何解决方案的问题:
编辑现有记录时,所有输入字段均为空。提交空表单时 - 所有属性都“无效”。
这是我的代码:
// src/users.js
export const UserEdit = (props) => (
<Edit title="Edit User" {...props}>
<SimpleForm>
<DisabledInput label="Id" source="id" />
<TextInput source="first_name" />
<TextInput source="last_name" />
</SimpleForm>
</Edit>
);
// App.js
const restClient = jsonAPIRestClient("http://localhost:3000/admin");
const App = () => (
<Admin dataProvider={restClient}>
<Resource name="users" list={UserList} edit={UserEdit}/>
</Admin>
);
对于数据适配器,我使用的是jsonAPIRestClient。记录全部存储在 redux 存储中并可用。
有什么有趣的地方:DisabledInput 的 ID 出现在表单中。
我错过了什么?
编辑:
package.json
{
"name": "admin",
"version": "0.1.0",
"private": true,
"dependencies": {
"aor-jsonapi-client": "^0.2.0",
"prop-types": "^15.6.2",
"react": "^16.5.0",
"react-admin": "^2.3.0",
"react-dom": "^16.5.0",
"react-scripts": "1.1.5"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}
编辑 2: 我刚刚发现,用户属性位于 ca 的编辑页面的输入字段中。 1/10 秒。然后这些字段被清除了?!
编辑 3: 以下是导致此 Bug 的 redux 操作:
所以我猜这里出了什么问题是数据提供者将获取的单个资源错误地存储在 redux 存储中。这是正确的吗?
编辑 4: 不幸的是,数据提供者似乎很糟糕。该存储库目前似乎未维护。有一个 PR 旨在解决这个问题。
【问题讨论】:
-
您好,您使用的是什么版本的 react-admin?这可能是一个错误,但我可以帮助您解决问题。介意您尝试在此代码沙箱上重复您的问题,并给我链接吗? codesandbox.io/s/olr88y53xy
-
@Kmaschta 我更新了问题并添加了我的 package.json
标签: javascript reactjs react-admin