April 2018
Intermediate to advanced
298 pages
6h 34m
English
You can validate the properties of functional React components by typing the props argument that's passed to the component. Some of your components will have state and you can validate a component's state much the same as with properties. You can create a type that represents the state of your component, and pass this to Component as a type argument.
Let's take a look at a container component that has state that is used and manipulated by a child component:
// @flow
import React, { Component } from 'react';
import Child from './Child';
type State = {
on: boolean
};
class Container extends Component<{}, State> {
state = {
on: false
}
toggle = () => {
this.setState(state => ({
on: !state.on
}));
} render() { return ...