import React from "react"; // import { useInViewport } from "react-in-viewport"; import { CustomNodeProps } from "src/components/CustomNode"; import useConfig from "src/store/useConfig"; import * as Styled from "./styles"; const inViewport = true; const ObjectNode: React.FC = ({ node, x, y }) => { const { text, width, height, data } = node; const ref = React.useRef(null); const performanceMode = useConfig(state => state.performanceMode); // const { inViewport } = useInViewport(ref); if (data.isEmpty) return null; return ( {(!performanceMode || inViewport) && text.map((val, idx) => ( {JSON.stringify(val[0]).replaceAll('"', "")}:{" "} {JSON.stringify(val[1])} ))} ); }; function propsAreEqual(prev: CustomNodeProps, next: CustomNodeProps) { return ( String(prev.node.text) === String(next.node.text) && prev.node.width === next.node.width ); } export default React.memo(ObjectNode, propsAreEqual);