Previous Entry Share Next Entry
2016-01

React.d.ts

Figured out my TypeScript definitions file for React would be useful to people, so pushed it to GitHub (also NuGet and npm): https://github.com/wizzard0/react-typescript-definitions

It's kinda incomplete, so pull requests are welcome.

This entry was originally posted at http://wizzard.dreamwidth.org/375769.html. It has comment count unavailable comments. Please comment there using OpenID.

  • 1
wizzard0 June 6th, 2014
Я его раньше использовал.

Получается месиво компонентов, из которых часть надо создавать только без new, а часть только с new.

В итоге отодрал тайпинги отдельно, стало удобнее.

Когда сам реакт портируют на ES6 классы - тогда всё станет с new(), но тогда и нужда в этой штуке отпадет.

kurumpa June 6th, 2014
я так понимаю, createClass там не только для создания класса, оно еще и методы биндит, а может что-то еще

wizzard0 June 6th, 2014
Не важно, главное что this получает тип any, что неинтересно.

Надо еще как-то на досуге попробовать весь реакт скомпилить TypeScript'ом, может тогда он сможет вывести сигнатуру, но пока лень.

kurumpa June 6th, 2014
я к тому, что не факт, что портируют )

jakobz June 6th, 2014
Я вот эту версию пользую https://github.com/fdecampredon/react-observe-todomvc/blob/typescript/src/declarations/react.d.ts

Правда в результате выпилил оттуда всё кроме DOM - как-то оно с компонентами больше мешало, чем пользы приносило. This, а следовательно и props/state таким макаром не получается затипизировать, и вся эта типизация в результате больше мешается.

Или у тебя получилось придумать как это починить/как писать чтобы оно затипизировалось?

Я пока написал свою обертку над createComponent, где в render прокидываю props параметром. Так хотя-бы props типизируются. Дальше жду поддержки ES6

wizzard0 June 6th, 2014
> This, а следовательно и props/state
Так у этого самого товарища fdecampredon как раз типизирующая обертка и есть.

Но мне она не понравилась (см мой коммент выше), я переделал ее под обычный createClass, допилил слегка типов для propTypes (чтобы их в рантайме проверяло) и тоже жду ES6.

wizzard0 June 6th, 2014
И эцсамое, проголосуй вот здесь - https://typescript.codeplex.com/workitem/507 !

  • 1
?

Log in

No account? Create an account