0

我使用 scalajs-react 并且无法理解为什么它不起作用

请帮忙,这似乎很容易

<.dev()(^.onClick ==> {(e: ReactEventFromHtml) => handler(e)})

def handler(e: ReactEventFromHtml): Callback = {

  Callback {
    val elem = e.target  //here we get elem = null

    //----- any code ---- 
  }

}
4

1 回答 1

0

一旦 React 认为你已经完成了事件,它就会重用它们。

尝试任一

  1. 调用.persist事件以防止 React 重复使用它
  2. 从. _ _ Callback我将举两个例子来说明如何做到这一点:
def handleBad(e: ReactEventFromHtml): Callback =
  Callback {
    println("target = " + e.target) // <--------- BAD
  }

def handleGood1(e: ReactEventFromHtml): Callback = {
  val target = e.target
  Callback {
    println("target = " + target) // <----------- GOOD
  }
}

def handleGood2(e: ReactEventFromHtml): Callback =
  e.extract(_.target) { target =>
    Callback {
      println("target = " + target) // <--------- GOOD
    }
  }
于 2020-04-01T00:33:40.897 回答