From 08b2696e6b574b57ccb77e9c0fd75915fbbc4584 Mon Sep 17 00:00:00 2001 From: moklick Date: Wed, 19 Jan 2022 22:16:53 +0100 Subject: [PATCH] feat(hooks): add useNodes and useEdges --- src/hooks/useEdges.ts | 12 ++++++++++++ src/hooks/useNodes.ts | 12 ++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/hooks/useEdges.ts create mode 100644 src/hooks/useNodes.ts diff --git a/src/hooks/useEdges.ts b/src/hooks/useEdges.ts new file mode 100644 index 00000000..eb2fa464 --- /dev/null +++ b/src/hooks/useEdges.ts @@ -0,0 +1,12 @@ +import { useStore } from '../store'; +import { Edge, ReactFlowState } from '../types'; + +const edgesSelector = (state: ReactFlowState) => state.edges; + +function useEdges(): Edge[] { + const edges = useStore(edgesSelector); + + return edges; +} + +export default useEdges; diff --git a/src/hooks/useNodes.ts b/src/hooks/useNodes.ts new file mode 100644 index 00000000..8a728a2d --- /dev/null +++ b/src/hooks/useNodes.ts @@ -0,0 +1,12 @@ +import { useStore } from '../store'; +import { Node, ReactFlowState } from '../types'; + +const nodesSelector = (state: ReactFlowState) => Array.from(state.nodeInternals.values()); + +function useNodes(): Node[] { + const nodes = useStore(nodesSelector); + + return nodes; +} + +export default useNodes;