Тема: React + Konva
Показать сообщение отдельно
  #8 (permalink)  
Старый Вчера, 23:26
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,601

Так положись на вёрстку. Сделай что css:
width: 100%
height: 100%

И оно сам тянулось и тебя не волновало. Или библиотечный компонент-говно и не умеет следить за своим размером и обновляться?

...update: если это действительно так - накостыляй элементарную обёртку, типа:
const ResizableStage = (props) => {
  const [size, setSize] = useState({width: 0, height: 0});
  const stage = useRef(null);

  useLayoutEffect(() => {
    const observer = new ResizeObserver((entries) => {
      setSize(entries.pop().contentRect);
    });

    observer.observe(stage.current);

  }, []);

  return (
    <div style={{position: 'relative', overflow: 'clip'}} ref={stage}>
      {size.width && size.height ? (
        <Stage
          style={{position: 'absolute', inset: 0}}
          width={size.width}
          height={size.height}
          {...props}
        />
      ) : null}
    </div>
  )
}

На реакте сто лет не писал, и не проверял, так что может сходу не заработать, но логика, думаю, ясна.
__________________
29375, 35

Последний раз редактировалось Aetae, Сегодня в 19:16.
Ответить с цитированием