I created a project with create-react-app:
yarn create react-app example-react-ts --template typescript
Then created a simple component:
import * as React from 'react'
interface ExampleProps {message: string}
class Example extends React.Component<ExampleProps> {
    render() {
        console.log("render")
        return (<div><p>{this.props.message}</p></div>)
    }
}
export default Example
Firefox prints "render" once.
Chrome prints "render" twice.
If I replace it with a functional component:
import * as React from 'react'
interface ExampleProps {message: string}
export const Example = (props: ExampleProps) => {
    console.log("render")
    return (
        <div><p>{props.message}</p></div>
    );
}
export default Example
Both Firefox and Chrome print "render" once.
Why?
