Skip to content

teosz/purescript-react

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

purescript-react

Maintainer: paf31 React: 0.12.2

Low-level React Bindings for PureScript.

For a more high-level set of bindings, you might like to look at purescript-thermite.

Building

The library and example can be built with Pulp as follows:

pulp dep update
pulp build

pulp test -r cat > example/index.js
open example/index.html

Example

module Main where

import Prelude

import Control.Monad.Eff

import React

import qualified React.DOM as D
import qualified React.DOM.Props as P

incrementCounter ctx e = do
  val <- readState ctx
  writeState ctx (val + 1)

counter = mkUI $ spec 0 \ctx -> do
  val <- readState ctx
  return $ D.p [ P.className "Counter"
               , P.onClick (incrementCounter ctx)
               ] 
               [ D.text (show val)
               , D.text " Click me to increment!"
               ]

main = do
  let component = D.div [] [ counter {} ]
  renderToBody component

About

React Bindings for PureScript

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PureScript 88.5%
  • JavaScript 6.9%
  • Python 3.2%
  • HTML 1.4%