alfa-laboratory / arui-feather

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Избавиться от опциональности параметров в типах хендлеров

Heymdall opened this issue · comments

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

Ожидаемое поведение

Такой вариант будет работать если выключен strictFunctionTypes.

const handleClick = (event: React.MouseEvent) => event.preventDefault;
return <Link onClick={ handleClick } />

Актуальное поведение

А вот если его включить - приходится писать так.

const handleClick = (event?: React.MouseEvent) => {
    if (event) {
        event.preventDefault();
    }
};
return <Link onClick={ handleClick } />

при этом сами параметры вовсе не являются опциональными, они будут переданы. Проблема просто в тайпингах.

Возможное решение

Решение - убрать ? в типах тех хендлеров, в которых аргументы передаются всегда.