Ваш useEffect
должен объявить массив зависимостей для ref
, также не знаете, почему используется const stage = useRef(null);
? stage
может быть просто состоянием компонента.
const [stage, setStage] = React.useState();
const ref = useRef();
useEffect(() => {
if(ref.current){
setStage(new Konva.Stage({
container: ref.current, // id of container <div>
width: 500,
height: 300
}))
}
},[ref]);