Обнаружение, когда обновление состояния находится от пользовательского ввода в поле вместо реквизита, передаваемых вJavascript

Форум по Javascript
Ответить
Anonymous
 Обнаружение, когда обновление состояния находится от пользовательского ввода в поле вместо реквизита, передаваемых в

Сообщение Anonymous »

У меня есть анимация CSS, которую я хочу запустить в поле текстового ввода. Я делаю это, присвоив значение клавишу компонента, и ключа анимации (не показана здесь): < /p>

Код: Выделить всё

function Input({value}) {
return 
}
< /code>
Форма, которая содержит это поле, может быть автоматически наполнена кнопкой нажатием. В этом случае я хочу , хочу запустить анимацию, но я не хочу запускать анимацию, когда пользователь печатает в поле. Проблема в том, что состояние верхнего уровня обновляется на обратном вызове изменения в поле. < /P>
function Input({value, changeHandler}) {
return 
}
Я играл с рефери и использованием и настройкой статического «ввода» в рефере, проблема заключается в том, что, как только пользователь внесет изменения в обратный вызов, мы никогда не обновляем анимацию снова.

Код: Выделить всё

function Input({value, changeHandler}) {

const source = useRef(null);
const [val, setVal] = useState(value);
useEffect(() => {
if (source.current !== "input") {
setVal(value)
}
});

const handler = (e) => {
source.current = "input";
changeHandler(e.target.value)
};

return 
}
Я чувствую, что есть что -то, что я мог бы сделать с usecallback или usememo, но я не могу понять, когда обновить состояние.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -passed-in
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»