react-admin 展开未知的数据提供者函数:getOne
react-admin expand Unknown dataProvider function: getOne
我正在尝试使用 react-admin 创建扩展选项。
在我的 AdminPanel.js
:
class AdminPanel extends React.Component {
render() {
return (
<div>
<Admin dataProvider={myDataProvider}>
...
<Resource title="Submission" name="submission" list={SubmissionList} />
...
</Admin>
</div>
);
}
}
const SubmissionList = (props) => (
<List {...props} pagination={<PostPagination />}>
<Datagrid expand={<ContentShow/>}>
...
</Datagrid>
</List>
);
const ContentShow = props => (
<Show
{...props}
title=" "
>
<SimpleShowLayout>
<RichTextField source="content" />
</SimpleShowLayout>
</Show>
);
问题是当我尝试扩展条目时,它给我错误提示 Unknown dataProvider function: getOne.
我该如何解决?
最好不要再使用dataProvider
不用Show
直接用SimpleShowLayout
const ContentShow = props => (
<SimpleShowLayout>
<RichTextField source="content" />
</SimpleShowLayout>
);
错误原因:
ContentShow
是否作为 show
道具传递给 Resource
组件?如果不是,则 ContentShow
组件没有 actions
道具。所以它找不到函数getOne
。 (参考:https://github.com/marmelab/react-admin/blob/53aac9b84760cf56fa3d5bf5a05cea48245e3c92/packages/ra-core/src/controller/useShowController.ts#L57)
扩展属性的正确用法:
您应该传递一个依赖于记录道具(content
在本例中为对象)的演示组件。
简单我console.log道具,发现错误。
这是我的解决方案:
const ContentShow = props => (
<SimpleShowLayout>
<RichTextField source={props.record.content}/>
</SimpleShowLayout>
);
我正在尝试使用 react-admin 创建扩展选项。
在我的 AdminPanel.js
:
class AdminPanel extends React.Component {
render() {
return (
<div>
<Admin dataProvider={myDataProvider}>
...
<Resource title="Submission" name="submission" list={SubmissionList} />
...
</Admin>
</div>
);
}
}
const SubmissionList = (props) => (
<List {...props} pagination={<PostPagination />}>
<Datagrid expand={<ContentShow/>}>
...
</Datagrid>
</List>
);
const ContentShow = props => (
<Show
{...props}
title=" "
>
<SimpleShowLayout>
<RichTextField source="content" />
</SimpleShowLayout>
</Show>
);
问题是当我尝试扩展条目时,它给我错误提示 Unknown dataProvider function: getOne.
我该如何解决?
最好不要再使用dataProvider
不用Show
直接用SimpleShowLayout
const ContentShow = props => (
<SimpleShowLayout>
<RichTextField source="content" />
</SimpleShowLayout>
);
错误原因:
ContentShow
是否作为 show
道具传递给 Resource
组件?如果不是,则 ContentShow
组件没有 actions
道具。所以它找不到函数getOne
。 (参考:https://github.com/marmelab/react-admin/blob/53aac9b84760cf56fa3d5bf5a05cea48245e3c92/packages/ra-core/src/controller/useShowController.ts#L57)
扩展属性的正确用法:
您应该传递一个依赖于记录道具(content
在本例中为对象)的演示组件。
简单我console.log道具,发现错误。
这是我的解决方案:
const ContentShow = props => (
<SimpleShowLayout>
<RichTextField source={props.record.content}/>
</SimpleShowLayout>
);