React extension for G6
This extension allows you to define G6 node by React component and JSX syntax.
Usage
npm install @antv/g6-extension-react
import { ExtensionCategory, register } from '@antv/g6';
import { ReactNode } from '@antv/g6-extension-react';
register(ExtensionCategory.NODE, 'react', ReactNode);
React Node:
const ReactNode = () => {
return <div>node</div>;
};
G Node:
import { Group, Rect, Text } from '@antv/g6-extension-react';
const GNode = () => {
return <Group>
<Rect width={100} height={100}></Rect>
<Text text={"node"} />
<Group>
};
Use ReactNode:
const graph = new Graph({
node: {
type: 'react',
style: {
component: () => <ReactNode />,
},
},
});
Use GNode:
const graph = new Graph({
node: {
type: 'g',
style: {
component: () => <GNode />,
},
},
});
Q&A
- Difference between ReactNode and GNode
ReactNode is a React component, while GNode support jsx syntax but can only use G tag node.
Resources