You can totally use typescript with React, in fact it's a game changer.
It's actually way more beneficial than with angular, as you have properly typed components all the way down. No crappy string templates that are not checked by typescript.
But how did you get rid of the implicit anys when using JSX?
I used this compiler flag that forbids them and suddnendly nothing worked anymore. It seemed that almost everything returned any per default.
I use these typings: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/mast...
Then create my components like this:
interface Props {
}
interface State {
}
class MyComponent extends React.Component<Props, State> {
}
and everything is typed correctly (beside setState which is impossible to type exactly as of today)
function MyComponent(props: IMyComponentProps): JSX.Element { return <p>{props.x}</p>; }
interface Props {
bla: string
ble: number
}
export default function MyComponent({ bla, ble }: Props) {
}