Skip to content

Commit

Permalink
Added example of changing existing React.FC code
Browse files Browse the repository at this point in the history
  • Loading branch information
ellieseastream authored Jun 30, 2020
1 parent 9f475ba commit b926b4e
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions docs/architecture-decisions/adr006-avoid-react-fc.md
Original file line number Diff line number Diff line change
@@ -1 +1,28 @@
# ADR006: Avoid React.FC

## Context

Facebook has removed ```React.FC``` from their base template for a Typescript project. The reason for this was that it was found to be an unnecessary feature with next to no benefits in combination with a few downsides.

The main reasons were:
- **children props** were implicitly added
- **Generic Type** lacked support

## Decision

To keep our codebase up to date, we have decided that React.FC should be avoided in our codebase when adding new code.

Here is an example:
````
type MyType = { text: string }
// avoid React.FC
const ComponentWithReactFC = React.FC<MyType> = ({text} => <div>{text}</div>)
// do this instead
const ComponentWithoutReactFC = ({text} : MyType) => <div>{text}</div>
````

## Consequences

We will gradually remove the current usage of React.FC from our codebase.

0 comments on commit b926b4e

Please sign in to comment.