The react-haskell package

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

Warnings:

This package provides high level bindings to Facebook's React library, meant for use with Haste.

React is a JavaScript library for building user interfaces. React (and React-Haskell) is focused on just UI - it's not a framework.

Currently React-Haskell can render simple stateful components, but not what React calls classes. Put another way, React-Haskell doesn't support lifecycle methods yet.

Here's a simple example which demonstrates basic elements, attributes, state, and handling events.

 -- We're creating a class with JSString state
 data Example
 instance ReactKey Example where
     type ClassState Example = JSString
     type AnimationState Example = ()
     type Signal Example = JSString

 -- updating to the new state without animation
 transition :: JSString -> JSString -> (JSString, [AnimConfig Example])
 transition oldState signal = (signal, [])

 view :: JSString -> React Example ()
 view str = div_ [ class_ "container" ] $ do
     input_ [ value_ str, onChange (Just . targetValue) ]

 main :: IO ()
 main = withElem "id" $ \elem ->
     render elem =<< createClass view transition "" () []

Properties

Versions1.1.0.0, 1.2.0.0, 1.3.0.0, 1.3.0.0, 2.0.0, 2.0.1
Change logNone available
Dependenciesbase (>=4.5 && <5), deepseq, haste-compiler, haste-lib (>=0.4 && <0.6), lens-family, monads-tf, transformers, void (==0.7) [details]
LicenseMIT
AuthorJoel Burget
Maintainerjoelburget@gmail.com
CategoryWeb
Home pagehttps://github.com/joelburget/react-haskell
Bug trackerhttps://github.com/joelburget/react-haskell/issues
Source repositoryhead: git clone https://github.com/joelburget/react-haskell.git
UploadedSun Jan 4 20:05:29 UTC 2015 by joelb

Modules

[Index]

Flags

NameDescriptionDefaultType
haste-instBuilt with haste-inst/hastecDisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees