Docs / rescript-react / Introduction

ReScript & React

ReScript offers first class bindings for ReactJS and are designed and built by people using ReScript and React in large mission critical React codebases. The bindings are compatible with modern React versions (>= v16.8).

The ReScript philosophy is to compile as closely to idiomatic JS code as possible; in case of ReactJS we made no exception, so it's not only easy to transfer all the React knowledge to the ReScript platform, but also straightorward to integrate with existing ReactJS codebases and libraries.

All our documentated examples can be compiled in our ReScript Playground as well.

Feature Overview

  • No Babel plugins required (JSX is part of the language!)

  • Comes with all essential React APIs for building production ready apps (useState, useReducer, useEffect, useRef,...)

  • No component class API (all ReScript & React codebases are built on functional components & hooks)

  • Strong level of type safetiness and type inference for component props and state values

  • GenType support for importing / exporting React components in Flow and TypeScript codebases

This documentation assumes basic knowledge about ReactJS.

Please note that even though we will cover many basic React concepts, it might still be necessary to have a look at the official ReactJS resources, especially if you are a complete beginner with React.