Skip to content

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

Open
Heymdall opened this issue Aug 24, 2020 · 0 comments

Comments

@Heymdall
Copy link
Member

На данный момент у всех хенделеров в библиотеке типы параметров описаны как опциональные, что создает проблемы при включении 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 } />

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

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

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant