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

如何在一些任意的反应应用程序中集成反应管理组件?

如何解决如何在一些任意的反应应用程序中集成反应管理组件?

React admin 是一个很棒的工具,我想集成它的一部分,例如列表视图,在一些不是根级别的反应管理应用的反应应用中。

我创建了一个功能组件,并返回了一个带有一个资源的 react admin 包装器(必须添加它,因为我没有找到注册 dataProvider 的方法):

rw-r–r–

渲染组件时,它说“未找到:要么你输入了错误的 URL,要么你点击了一个错误链接......”我猜这是因为 react admin 会根据 url 路径呈现视图。

>

是否可以将资源的呈现与 url 路径解耦?

理想情况下,我会重用 SomeList 组件,注册数据提供者并跳过管理和资源。

解决方法

根据 React-admin 的文档,合并 <Admin><Resource> (Documentation Link) 是完全可选的。

<Admin> 标签是让您的 react-admin 应用快速启动和运行的一种巧妙方式。

您可能正在寻找的是自定义应用路线。 此 link 清楚地指定了如何绕过 <Admin> 组件。

const App = () => (
    <Provider
        store={createAdminStore({
            authProvider,dataProvider,history,})}
    >
       <AuthContext.Provider value={authProvider}>
       <DataProviderContext.Provider value={dataProvider}>
       </DataProviderContext.Provider>
       </AuthContext.Provider>
    </Provider>
);

export default withContext(
   {
       authProvider: PropTypes.object,},() => ({ authProvider })
)(App);

请注意,此示例仍使用 <Resource>,因为此组件会延迟初始化资源数据的存储。

如果您打算使用 React-Admin 组件,那么这似乎是您要走的路。


另一件需要注意的事情是,核心的 React-Admin 与 Material UI 密切相关。所以你绝对可以使用 Material UI

例如:您可以使用 List 组件。这些很容易使用,并且可以很容易地插入到你现有的 react-app 中。该文档也很棒,并提供了许多 CodeSandBox example

guide 还指定了为提供灵活性而采取的步骤和措施,以及如何开始将其纳入您的项目。


作为在我组织的企业项目中从事过类似工作的人。这被证明是有帮助的,因为它使我们能够更轻松地即插即用,而不是遵循 React-Admin 提供的刚性。

,

您可以尝试将您的资源包装在每个 https://marmelab.com/react-admin/CustomApp.html<DataProviderContext.Provider value={dataProvider}>

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