Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build Status

There's a brief section on getting started below. For a more complete guide, check out the React Basic docs! (work in progress) (sorry, not sure when the docs will be done but here's a "real world" example app which is a great starting point! jonasbuntinx/purescript-react-realworld -- I also recommend the PureScript Discourse forum for specific questions, and am usually fairly responsive to blocking issues here on GitHub, including the repositories below. Finally, check out the purescript-cookbook repo for small examples of specific use cases, like TextFieldsReactHooks.)

Getting Started

This library contains the core types and tools used by the rest of the React Basic ecosystem. To use React Basic in your applications you'll also need to choose one or more implementations as well as a target environment!

Note: The Hooks and Classic implementations can both be used in the same project


  • react-basic-hooks
    • PureScript types for building components using React hooks, as well as creating custom hooks.
  • react-basic-classic (this implementation was previously included in the React.Basic module)
    • PureScript types for the more traditional class-based React API. Very similar to the Reason-React API.


For example, to use the react-basic hooks implementation for web development in a spago app:

npm i -S react react-dom
spago install react-basic react-basic-dom react-basic-hooks

Or using bower:

npm i -S react react-dom
bower i -S purescript-react-basic purescript-react-basic-dom purescript-react-basic-hooks

Upgrading from React Basic v14

The React.Basic.DOM modules have been moved to react-basic-dom. This doesn't require any code changes, but you will need to add this dependency to your projects.

The component implementation previously in React.Basic has been extracted to react-basic-classic, which now provides the React.Basic.Classic module. Just install that library and find/replace ^import\sReact\.Basic\s with import React.Basic.Classic.

If you were using the React.Basic.Compat module, that module has been moved to react-basic-compat.

If you were using react-basic-hooks exclusively everything should work as-is.

Where did the examples folder go?

Because this library no longer contains a specific implementation and the example structure contained a fair bit of boilerplate, they've been moved to the react-basic-classic repository, in the examples folder. In addtion, a consolidated documentation site (linked above) is being worked on.


An opinionated set of bindings to the React library, optimizing for the most basic use cases







No packages published