Используйте StateSnapshots с Backend в scalajs-реагировать

Основной компонент в примере 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),

1 ответ

Решение

Решено в GitHub с помощью .setStateVia($) вместо .of($),

Другие вопросы по тегам