const inst = useRef(new Test());
Инстанс действительно создается и храниться в ref, каждый раз дополнительно создается еще один инстанс, просто не сохраняется, в реф всегда первых храниться.
Но это не очень хорошо - постоянно создавать новые инстансы и не использовать их.
Как правильно создать инстанс класса и хранить ссылку на него? При этом иметь возможность пересоздать по условию (поэтому тупо синглтон не подходит)
useEffect?
const inst = useRef(); if (!inst.current) { inst.current = new Test(); }
https://www.npmjs.com/package/use-memo-one
типа создать пустой реф: const inst = useRef(null); и потом useEffect(() => { console.log('useEffect'); inst.current = new Test( ); }, []); Пробовал этот вариант. Проблема в том, что экземпляр не создается сразу, срачала реф пустой.
интересное решение. такой геморрой из за такого пустяка вроде..
Обсуждают сегодня