I found it's a bit hacky to create React.JS components in TypeScript, mainly because TypeScript doesn't understand JSX, you could use React DOM APIs to create element, but this gonna become unreadable when rendering complex structure.
The workaround is using ts-jsx-loader created by James brantly: https://github.com/jbrantly/ts-jsx-loader.
The idea is creating a fake API React.jsx(), it wraps the JSX, and the loader would translate it into React.createElement() calls.
There also a project attampts to make typescript understands JSX: https://github.com/ripieno/typescript-react-jsx, but it doesn't seem to be active.