Проблема в том, что useRef запускается во время первого рендера.Два примера, когда это может быть проблемой.
- Когда может быть какая-то загрузка
const Problem1 = () => {
const ref = useRef();
if (loading)
return null;
return <input ref={ref} value={} />;
}
Когда ref находится внутри некоторого условия.
const Problem2 = () => {
const ref = useRef();
return user ? <input ref={ref} value={user.name} /> : <Exit >;
}
пример песочницы https://codesandbox.io/s/nifty-feynman-z68k0
Во втором случае я по крайней мере мог показать элемент в начале сдисплей: нет.Но как решить первую проблему, я понятия не имею.
Каковы лучшие практики в этих случаях?