react-haskell-1.2.0.0: Haskell React bindings
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) ]
createClass view transition "" () []Modules