Pull to refresh

Comments 13

Затыки начнутся, когда эти счётчики нужно будет сбросить) но вообще прикольно

Спасибо! Внутри компонента можно сбросить простым обнулением переменной либо "lift the state up". Снвружи можно передать объект типа ref.current в который компонент передаст свой "обнулятор" при создании. Ну или как у всех, подписаться на какой-либо из реактивных стейт менеджеров на mount.

В терминах React это называется "managed input" компонент. Его попробовать можно тут в альтернативном стиле (не JSX).

В вашем инпуте каретка скачет если напечатать что-то в середине текста.

Да, есть такое, для наглядности этот компонент очень простой, в Реакт будет такое же поведение.

Нет, в реакте такого поведения не будет.

Вы уверены? Это стандартное поведение элемента <input /> при присвоении input.value = x.

А что же вы опустили toUpperCase? С ним как раз будет точно такое же поведение.

Кстати странно, я думал что это по причине присвоения, а тут что-то другое, также цифры работают корректно, надо будет покопаться.

Если я правильно понимаю, скачет когда .value дом элемента инпута меняется на не идентичную текущей строку программно.

Т.е. в этом примере скакать не будет если включить капс или вводить символы - апперкейс не меняет новую строку, так что инпут при присвоении ничего не делает - реальное значение уже изменилось когда пользователь нажал кнопку.

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

Да, видимо так и работает. Возможно если сохранять позицию курсора и восстанавливать ее после присвоения, то проблема решится.

Философия Фьзора - не трогать дефолтное поведение. Лучше один раз изучить стандарт (W3C), чем для каждого фреймворка запоминать отличия.

Ждем nin-jin с комментарием про то что $mol лучше

Sign up to leave a comment.

Articles