Используйте StateSnapshots с бэкендом в scalajs-react

Основной компонент в примере StateSnapshot не использует серверную часть, но мне нужен один. Моя попытка:

class MainBackend($ : BackendScope[Unit, Name]) {
  def render(name: Name) = {
    val firstNameV = StateSnapshot.zoomL(Name.firstName).of(name)
    val surnameV = StateSnapshot.zoomL(Name.surname).of(name)
    <.div(
      <.label("First name:", NameChanger(firstNameV)),
      <.label("Surname:", NameChanger(surnameV)),
      <.p(s"My name is ${name.surname}, ${name.firstName} ${name.surname}.")
    )
  }
}

val Main = ScalaComponent
  .builder[Unit]("StateSnapshot example")
  .initialState(Name("John", "Wick"))
  .renderBackend[MainBackend]
  .build

Я получаю ошибку компиляции value firstName is not a member of object app.TreeView.Name в строке val surnameV = StateSnapshot.zoomL(Name.surname).of(name).


person Tamriel    schedule 02.08.2017    source источник


Ответы (1)


Проблема решена в GitHub с использованием .setStateVia($) вместо .of($).

person Tamriel    schedule 14.08.2017