I use to declare stateless components like this:
const example: React.SFC<IExample> = ({propsType}) => ();
However the SFC is now deprecated, maybe this twitter post from Dan Abramov explains why.
What should we use now that SFC is deprecated?
I use to declare stateless components like this:
const example: React.SFC<IExample> = ({propsType}) => ();
However the SFC is now deprecated, maybe this twitter post from Dan Abramov explains why.
What should we use now that SFC is deprecated?
You should use React.FunctionComponent
: Rename React's SFC to 'FunctionalComponent
This PR renames
React.SFC
andReact.StatelessComponent
toReact.FunctionComponent
, while introducing deprecated aliases for the old names.
So your example would become:
const example: React.FunctionComponent<IExample> = ({propsType}) => ();
or
const example: React.FC<IExample> = ({propsType}) => ();
I'd say the accepted answer isn't up-to-date any more.
React.FunctionComponent
has certain drawbacks, as explained by the folks at create-react-app. Their reasoning is pretty convincing, and I stopped using FC
entirely.
Better alternative:
const example = ({ propsType }: IExample): JSX.Element => ();