react-haskell: Haskell React bindings

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] [Publish]

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

Versions 1.1.0.0, 1.2.0.0, 1.3.0.0, 1.3.0.0, 2.0.0, 2.0.1
Change log None available
Dependencies base (>=4.5 && <5), deepseq, haste-compiler, haste-lib (>=0.4 && <0.6), lens-family, monads-tf, transformers, void (==0.7) [details]
License MIT
Author Joel Burget
Maintainer joelburget@gmail.com
Category Web
Home page https://github.com/joelburget/react-haskell
Bug tracker https://github.com/joelburget/react-haskell/issues
Source repo head: git clone https://github.com/joelburget/react-haskell.git
Uploaded by joelb at 2015-01-04T20:05:29Z

Modules

[Index]

Manual Flags

NameDescriptionDefault
Automatic Flags
NameDescriptionDefault
haste-inst

Built with haste-inst/hastec

Disabled

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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees