Pros and Cons
The Shocking Secret about Static Types / You Might Not Need Typescript (or Static Types)
React Docs: Typechecking With PropTypes
The official reference docs for PropTypes
What are PropTypes?
An introduction to React's PropTypes feature and how it can help create more predictable APIs for components.
React PropTypes & Flow types cheat sheet
Some quick comparisons and gotchas between the two type declaration approaches
Accessing React PropTypes Meta-data
A look at how to access PropTypes info at runtime using various tooling
React: Validating Children
Examples of using PropTypes to enforce what children can be passed to a component
React Pattern: Centralized PropTypes
Discusses creating centralized definitions of data structures using PropTypes to reduce repetition, and suggests a few other good practices for working with PropTypes.
TypeScript: the Missing Introduction
An introduction to TypeScript's concepts, with explanations of a number of terms related to compilers and static typing.
TypeScript Deep Dive
An online book that digs into numerous TypeScript topics
Immutable.js Records in TypeScript
Examples of setting up typing for custom classes based on Immutable.js's Record class.
Strongly Typing Injected React Props
A demonstration of using TypeScript to define prop types for a React component, and enforcing behavior based on that.
Hybrid Types in TypeScript
Examples of adding type checking to some dynamic code that uses d3 for visualization.
A Typed pluck: exploring TypeScript 2.1's mapped types
Detailed explanation of how the "mapped types" feature in TS 2.1 can be used to add typing to functions that map over data
Hello World with Webpack, TypeScript, and React
An example of setting up a project that uses Webpack, React, an TypeScript together.
Yet Another TypeScript Book
A casual introduction to the main features of TypeScript.
The Fundamentals of Flow in 10-ish Minutes
A short presentation that looks at what Flow is, benefits, and how to use it
A quick introduction to Flow, its usage, and some comparisons with Typescript.
Setting up Flow when you've already got Babel in place
Instructions for integrating Flow into an existing project
Eradicate Runtime Errors in React with Flow
An introduction to Flow's benefits in a project, and how to use it
Flow Guide: The Definitive Guide for using Flow
Instructions on setting up Flow, a style guide, and links to further info
Why Use Flow?
A look at the concepts of static typing and type inference, examples of using Flow to add type declarations to code, and pointers to further information on Flow.
Why You Need Types
Some thoughts on how static typing can help development, with examples using Flow.
Better docs and static analysis
A walk through setting up Flow, some possible problems you might encounter, and ways to customize and improve the typing process.
Getting Started with Flow and Webpack
Walks through the process for adding Flow to an existing Webpack+Babel project.
Flow type cheat sheet
A comprehensive list of built-in Flow types
A variety of quick notes and snippets of Flow syntax for various use cases
A JS file in a gist that provides a commented walkthrough of Flow concepts and syntax.
Flow type checking tips
Useful lessons learned from adding Flow to an existing codebase, including handling type declarations, using Flow's utility types, and ensuring immutability.
React, Redux, and Static Types
Checking React and Redux Code with Flow
A slideshow that shows the basics of adding type information to Redux-based code
Using Redux with Flow
Covers how to use Flow typing with Redux
Type Checking with Flow in React + Redux
Demonstrates setting up static typing with an existing project
Redux Flow Tutorial
Covers how to set up Flow for type-checking a Redux application
Examples of how to use Flow to add typing to Redux apps
Tagged Unions, React, and Redux
Examples of using Flow union types to define component props
Typing React Components
Examples of migrating from React PropTypes to Flow, as well as typing Redux usage
Type-Checking React and Redux with Flow
Examples of how to define Flow types for React components and Redux functions
How the Debugger got into the Flow
A look at how the Firefox DevTools team uses Flow to help type their React and Redux code for improved maintainability
Typed Redux: Redux Revisited
A follow-up to an earlier post by the author, giving an updated set of thoughts on use of TypeScript with Redux
Type-safe Flux Standard Actions in React
Describes the "Flux Standard Action" concept, and how the TypeScript FSA library can be used to help generate FSAs in a type-safe way.
Type-Safe Asynchronous Actions (Redux-Thunk) Using TypeScript FSA
Examples of how to generate and use type-safe async actions in TypeScript
React & Redux in TypeScript - Static Typing Guide
A comprehensive guide to static typing "React & Redux" apps using TypeScript
Porting a React and Redux Application to TypeScript
Demonstrates porting an existing React+Redux sample app to use TypeScript
React Higher Order Components in TypeScript made simple
Demonstrates how to extract an HOC and properly define types for various groups of props
React, Redux, and TypeScript: Typed Connect
Discusses a simpler set of typings for the
connectfunction and how to use them with React.
A New Redux Action Pattern for TypeScript 2.4+
Describes how to use the new features in TS 2.4, such as string enums, to simplify defining types for Redux actions.
Best Practices for Flow Typing React Components
Several useful suggestions and examples for using Flow types with React components.
React Higher-Order Components using TypeScript
Examples of how to properly write React HOCs in TypeScript, including adding types.
React and TypeScript: The Basics
Covers important questions you might have when using React and TypeScript together, including approaches for project setup, adding NPM packages, typing React components, using Redux, and more.
Typing Higher-Order Components in Recompose with Flow
Describes some of the work needed to add Flow types for the Recompose library, and how to use Recompose, Flow, and React together.
Type-safe React + Redux: Eliminating the 'any' type
Examples of declaring types for data modeling, Redux actions and reducers, Redux-Observable epics, and React components.
Redux and Flow-type - getting the maximum benefit from the fewest key strokes https://hackernoon.com/redux-flow-type-getting-the-maximum-benefit-from-the-fewest-key-strokes-5c006c54ec87
Discussion of how Flow's type inference can be used to reduce duplication of type declarations for actions.
How to Reduce Action Boilerplate
Looks at how TypeScript is normally used with Redux, including "narrowing" actions with type guards and discriminated unions, and looks at ways different libraries use narrowing to help generate actions in a type-safe way.
Using TypeScript Generics for writing React Components
Useful techniques for writing typed higher-order-components, with specific examples focusing on typing form field components.
Back to the Basics: Using React + Flow
A series that demonstrates using Flow to add static typing for a Tic-Tac-Toe game
Using TypeScript with Redux
Examples of basic TS usage with Redux, and setting up your own type declarations for better type safety.
Todo app with Typescript/Redux
An introduction to the principles of using Typescript with Redux, as applied to a simple todo app.
Error TS2532 and Optional React Component Props in TypeScript
Describes a specific TS error message that can result from trying to use default props, and and shows how to solve it.
3 Tricks for Using Redux and Immutable.js with TypeScript
Examples of statically typing Immutable.js Records, action creators, and class-based actions
Improved Redux type safety with TypeScript 2.8
Looks at the new "conditional types" feature in TS2.8, and how that can be used to simplify adding types to Redux logic.
The Redux Type Flow
Looks at some advanced approaches for automatically extracting types for Redux actions with Flow and applying them to reducers.
Ultimate React Component Patterns with Typescript
An extensive set of examples for using TypeScript with common React component patterns, including functional / class components, default props, render callbacks, and much more.
Advancing Typing Techniques
Runtime Introspection of Flow Types
A look at some ways to potentially use Flow types for further analysis using various tooling
Phantom Types with Flow
Description of an advanced technique for tracking data flow using types
Exhaustive switch in Flow
A trick to help catch missing case errors in switch statements.
Assorted useful techniques for using Flow types
Secret Flow Types
A list of "advanced" Flow type declarations, such as Keys, Diff, and Shape.
Describes how to use Flow's "opaque types" feature to make otherwise compatible types separate, such as an account number and a balance.
Flavoring: Flexible Nominal Typing for TypeScript
Looks at an approach for "branding" similar types to make them distinct, some of the problems with branding, and a second approach called "flavoring" that works better with implicit conversions.
Flow as a replacement for PropTypes
Describes some limitations of PropTypes, and how Flow can help solve those
Flow vs TypeScript
A comparison of the features, goals, and usage of both type systems
Typescript vs Flow
A comparison of common features, advantages in either system, missing features, and other aspects.
TypeScript vs Flow
An in-depth, unbiased comparison of differences and similarities between TypeScript and Flow
TypeScript vs Flow
Some quick thoughts on both Flow and TS being "non-standard JS", with good discussion in the comments.
TypeScript, Flow, and the Importance of Toolchains over Tools
Some thoughts on why type checkers are important, how they differ, and what considerations go into selecting a type checking tool
Refactoring 30000 Lines of JS with types
A description of the Reaktor team's approach to adding types to their project, their experience with both Typescript and Flow, and why they chose Typescript.
How we migrated a 200K+ LOC Project to TypeScript
The Coherent Labs team discusses the tradeoffs in using static typing for JS code, why they chose TypeScript, and how they approached migrating their codebase to TypeScript.
Why I was looking forward to Flow, and then I wasn't
Some useful thoughts on the tradeoffs involved in using Flow
Flow: What's the verdict?
Thoughts on some pros and cons of using FLow, including dealing with code that doesn't have types, and several specific use cases the Amplitude team has run into.
Going Statically Typed with Flow
Some thoughts on why Contactually opted to use Flow for their React+Redux app, including ease of integrating Flow into an existing app.
A slideshow that discusses the benefits of using type systems, and looks at how TS, Flow, and Elm compare in several aspects.
Flow and TypeScript
The Tumblr engineering team discusses their experience comparing Flow and TS, and why they opted to use TS.
Looks at the rise of static typing in dynamic languages, gives some thoughts on the tradeoffs and benefits of TS and Flow, and tradeoffs for static typing usage as a whole.
Inference engines: 5 examples with TypeScript, Flow, and Reason
Compares the behavior of three type systems with several specific examples to show how they differ.
Some short, high-level thoughts on the pros and cons of using static typing with JS, and tips for leveraging static typing in your project
A Hacker News thread with a lot of good discussion on the current strengths and weaknesses of TypeScript and Flow
"Why isn't Typescript used more in the React community?"
An excellent discussion thread on the history and merits of TS and Flow, and their suitability for use with React. In particular, read the comments by Francois Ward of Hubspot (/u/phoenixmatrix), who offers extensive thoughts on why they're switching to TS in the near future.