diff --git a/generated-docs/React/Basic.md b/generated-docs/React/Basic.md index 34e7e7d..60b5495 100644 --- a/generated-docs/React/Basic.md +++ b/generated-docs/React/Basic.md @@ -16,6 +16,17 @@ The rendering function should return a value of type `JSX`, which can be constructed using the helper functions provided by the `React.Basic.DOM` module (and re-exported here). +#### `stateless` + +``` purescript +stateless :: forall props. { displayName :: String, render :: props -> JSX } -> ReactComponent props +``` + +Create a stateless React component. + +Removes a little bit of the `react` function's boilerplate when creating +components which don't use state. + #### `createElement` ``` purescript diff --git a/src/React/Basic.purs b/src/React/Basic.purs index 16fdb89..d914210 100644 --- a/src/React/Basic.purs +++ b/src/React/Basic.purs @@ -1,5 +1,6 @@ module React.Basic ( react + , stateless , createElement , createElementKeyed , fragment @@ -40,6 +41,24 @@ react { displayName, initialState, receiveProps, render } = , render: mkFn3 render } +-- | Create a stateless React component. +-- | +-- | Removes a little bit of the `react` function's boilerplate when creating +-- | components which don't use state. +stateless + :: forall props + . { displayName :: String + , render :: props -> JSX + } + -> ReactComponent props +stateless { displayName, render } = + react + { displayName + , initialState: unit + , receiveProps: \_ _ _ -> pure unit + , render: \props _ _ -> render props + } + -- | SetState uses an update function to modify the current state. type SetState state fx = (state -> state) -> Eff (react :: ReactFX | fx) Unit