permalinkComponent Syntax
Here are examples of increasingly complex components
permalinkComponent with neither props
nor hooks
This is a component that will always render "Hello World" when you use it.
src/CoolComponent.purs
module CoolComponent where
import Prelude
import React.Basic.Hooks (component)
import React.Basic.DOM (text)
makeCoolComponent = component "CoolComponent" \props -> do
pure (text "Hello World")
usageCoolComponent = do
coolComponent <- makeCoolComponent
pure $ coolComponent {}
This renders
Cool Component
Hello World
If we wanted this to be a <button>Hello World</button>
instead we can do:
src/CoolComponent.purs
module CoolComponent where
import Prelude
import React.Basic.Hooks (component)
import React.Basic.DOM (text, button)
makeCoolComponent = component "CoolComponent" \props -> do
pure (button { children: [ text "Hello World" ] })
usageCoolComponent = do
coolComponent <- makeCoolComponent
pure $ coolComponent {}
Cool Button Component
permalinkComponent with props
but without hooks
This is a component that will display the text you tell it to.
src/SimpleComponentWithProps.purs
module SimpleComponentWithProps where
import Prelude
import React.Basic.Hooks (component)
import React.Basic.DOM (text, button)
makeCoolComponent = component "CoolComponent" \props -> do
pure (button { children: [ text props.text ] })
usageCoolComponent = do
coolComponent <- makeCoolComponent
pure $ coolComponent { text: "LOVE" }
This renders
Cool Component With Props
permalinkComponent without props
but with hooks
This is a component that has some state