React.js onChange работает как onInput
Я делаю валидатор для поля с числом, чтобы оно не могло быть меньше 1. (e) => setLimit(+e.target.value > 0 ? e.target.value : 1) (value у меня привязан к стейту limit)
Аттрибут onChange улавливает любое изменение, но мне нужно, чтобы работало так, как в js. Иначе при вводе числа 2 нужно выделить предыдущее число и ввести 2, нельзя просто стереть.
Как работает:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="number" oninput="$(this).val(+$(this).val() > 0 ? +$(this).val() : 1)"/>
Как должно работать:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="number" onchange="$(this).val(+$(this).val() > 0 ? +$(this).val() : 1)"/>
Написал на чистом js, смотрите не на код, а на функционал поля.
Интересует в первую очередь, как это сделать средствами React.js. Если никак - тогда какой лучший способ на js? Учитывая, что react.js будет агриться на onclick и onchange.
использовать // eslint-disable-next-line тоже не хочу