Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在react admin资源中的两个列表组件之间共享实例_Reactjs_React Admin - Fatal编程技术网

Reactjs 如何在react admin资源中的两个列表组件之间共享实例

Reactjs 如何在react admin资源中的两个列表组件之间共享实例,reactjs,react-admin,Reactjs,React Admin,这就是组件在react admin中的实例化方式,但是现在我需要在PostList和UserList之间共享通知实例。我想避免单身。是否可以通过某种方式将“通知”对象传递给列表 import React from 'react'; import PostIcon from '@material-ui/icons/Book'; import UserIcon from '@material-ui/icons/People'; import { Admin, Resource } from 'rea

这就是组件在react admin中的实例化方式,但是现在我需要在PostList和UserList之间共享通知实例。我想避免单身。是否可以通过某种方式将“通知”对象传递给列表

import React from 'react';
import PostIcon from '@material-ui/icons/Book';
import UserIcon from '@material-ui/icons/People';
import { Admin, Resource } from 'react-admin';
import jsonServerProvider from 'ra-data-json-server';

import { PostList } from './posts';
import { UserList } from './users';
import { Notifications } from './notifications';

var notifications = new Notifications();

const App = () => (
    <Admin dataProvider={jsonServerProvider('https://jsonplaceholder.typicode.com')}>
        <Resource name="posts" list={PostList} icon={PostIcon} />
        <Resource name="users" list={UserList} icon={UserIcon} />
    </Admin>
);
从“React”导入React;
从“@material ui/icons/Book”导入PostIcon;
从“@material ui/icons/People”导入用户图标;
从“react Admin”导入{Admin,Resource};
从“ra数据json服务器”导入jsonServerProvider;
从“./posts”导入{PostList};
从“/users”导入{UserList};
从“./Notifications”导入{Notifications};
var notifications=新通知();
常量应用=()=>(
);

提前感谢。

在我看来,一切都得到了很好的实施:

从'react admin'导入{Layout};
从“/MyNotification”导入MyNotification;
常量MyLayout=(道具)=>;
常量应用=()=>(
// ...
);

将自定义道具传递给
组件对我来说不太合适,因此我尝试了几种不同的方法,这是一种适合我的要求的方法

因此,有一个默认的道具,您可以将它传递给名为
选项
的组件,该组件接受一个对象。通常,当您想要将
标签
拉入资源时,您会看到使用此道具。其目的是定制此对象-

//在App.js中
然后在你的资源中访问它,比如-

//在Posts.js中
导出常量PostList=(道具)=>{
const{notifications,label}=props.options;
//您现在在这里有了通知对象
返回(
);
};

让我知道这是否对你有用

为这一点制定了上下文
import { Layout } from 'react-admin';
import MyNotification from './MyNotification';

const MyLayout = (props) => <Layout {...props} notification={MyNotification} />;

const App = () => (
    <Admin layout={MyLayout} dataProvider={simpleRestProvider('http://path.to.my.api')}>
        // ...
    </Admin>
);