import React, { useRef, useEffect, useState } from "react"; import { Rect, Text, Group } from "react-konva"; function TokenLabel({ tokenState, width, height }) { const fontSize = height / 6 / tokenState.size; const paddingY = height / 16 / tokenState.size; const paddingX = height / 8 / tokenState.size; const [rectWidth, setRectWidth] = useState(0); useEffect(() => { const text = textRef.current; if (text && tokenState.label) { setRectWidth(text.getTextWidth() + paddingX); } else { setRectWidth(0); } }, [tokenState.label, paddingX]); const textRef = useRef(); return ( {}} /> ); } export default TokenLabel;