Package

io.github.shogowada.scalajs.reactjs.classes

specs

Permalink

package specs

Visibility
  1. Public
  2. All

Type Members

  1. trait PropslessReactClassSpec[State] extends ReactClassSpec[Unit, State]

    Permalink

    ReactClassSpec without props

  2. trait ReactClassSpec[Props, State] extends AnyRef

    Permalink

    Specification for React components

    Specification for React components

    Example:

    object Foo {
      case class Props(foo: String)
      case class State(bar: String)
    }
    
    class Foo extends ReactClassSpec[Foo.Props, Foo.State] {
      import Foo._
    
      override def getInitialState() = State("bar")
    
      override def render(): ReactElement = <.div()(
        s"foo = ${props.foo}",
        s"bar = ${state.bar}",
        children // equivalent of props.children in native React
      )
    }
    
    val foo = new Foo()
    ReactDOM.render(
      foo(Foo.Props("foo"))( // first parameter group of apply method takes props
        <.div()("first child"), // second parameter group of apply method takes children
        <.div()("second child")
      ),
      mountNode
    )
  3. trait StatelessReactClassSpec[Props] extends ReactClassSpec[Props, Unit]

    Permalink

    ReactClassSpec without state

  4. trait StaticReactClassSpec extends ReactClassSpec[Unit, Unit]

    Permalink

    ReactClassSpec without props and state

Value Members

  1. object ReactClassSpec

    Permalink

Ungrouped