Непонятное преобразование

Есть инпут:

<input type="number"
  placeholder="От 1 до 1000"
  value = {filterSum}
  onChange = {onChangeSearch}/>

Есть состояние filterSum:

const [filterSum, setFilterSum] = useState<number>();

И есть функция для обработки инпута:

function onChangeSearch (e: React.ChangeEvent<HTMLInputElement>) {
        let value: number = e.target.value;
        setFilterSum(value);

        if (value <= 0) {
            setFilterSum(value = 1);
        } else if (value >= 1000) {
            setFilterSum(value = 1000);
        }
    }

В функции, на строке: "let value: number = e.target.value;". Тайпскрипт говорит, что "e.target.value" имеет тип строка и не может вписаться в "let value". Каким образом меняется тип заданный в состоянии и как это исправить?


Ответы (0 шт):