Type Inference
Flow uses type inference to find bugs even without type annotations. It precisely tracks the types of variables as they flow through your program.
Realtime Feedback
Flow incrementally rechecks your changes as you work, preserving the fast feedback cycle of developing plain JavaScript.
What are the benefits of using Flow?
- Catch errors early
- Improve readability of code
- Facilitate tooling
Example
Example w/ Flow
Flow is a server
>> flow status
>> flow check
Sometimes you’ll make a change that forces the Flow server to restart.
changes to your .flowconfig file
Flow reads your entire node_modules directory
>> flow stop
>> flow init
Third-party libraries
Props and State
Missing @flow annotations
Flow will ignore it by making its type any
Weak mode
/* @flow weak */
Type Annotations
Using flow-typed
npm install -g flow-typed
Primitives
- boolean
- number
- string
- null
- void
any
The type is a supertype and subtype of all types.
mixed
is like a safe but somewhat annoying version of any
Optional types
T|void, for some type T
Maybe types
T|void|null, for some type T
Arrays
Tuples
Tuple types are a kind of array type particularly suited to describe finite, heterogeneous collections
Objects
Destructuring
Interfaces
Generics
How it works w/ React Compoents
FlowType
By acierto
FlowType
- 938