функционального компонента после его первого рендера?
Всё что нашел в сети - написано про классовые (
http://htmlbook.ru/html/input/autofocus
useEffect(()=>{ focusFirstElement() }, [])
Не, так не работает
forwardRef или useImperativeHandle
по-простому можно реф на инпут просто пропсой закинуть
сделал так, но срабатывает через раз, не понимаю зависимости, от чего так
проверить стейт val на null в useEffect
так у меня нет стейта вообще в этом компоненте
const textInputRef = useRef(null) <Input ref={textInput} />
useEffect(() => { textInputRef?.current.focus() }, [])
вот всё вроде верно, но тем не менее также срабатывает через раз
попробуй useLayoutEffect
input autofocus не то что нужно ?
Это не работает, пробовал
Так, я нашел закономерность - У меня группа селектов с dropdown, в который встроен инпут. Если кликать по выпадайкам слева направо, то они работают (причем, не важно, кликнул на соседний, или через 3). И фокус на вложенный инпут ставится корректно. Если наоборот- не работают. Ощущение, что ссылка ref как бы работает только в одну сторону.
динамический маунт — немного сложный кейс, тут без кода никак
Да я бы рад накодить, только что именно? Где почитать на эту тему? Как я понимаю ситуацию - current для каждого последующего элемента как бы выше в иерархии. И ссылка кривая выходит
В итоге: как я понял, useref надо поднимать выше в родительский компонент, который мапит детей. В нем же собирать массив из референсов на внутренние элементы и прокидывать их детям. Верно?
Обсуждают сегодня