scalajs-react 中的 react 回调是什么?

What is a react callback in scalajs-react?

Here 写成:

Included is a type CallbackTo[A] which captures effects designated for use in React callbacks.

在此上下文中什么是 React 回调?

据我所知,只是回调的正常含义 - 为响应事件而调用的函数。因此,例如在 React Component 中有许多函数,如 componentDidMount,它们在组件生命周期的不同阶段被调用。在 scalajs-react 中,这些被实现为函数 return a CallbackTo[Unit],由于类型别名,它也可以写成 Callback。例如,将 componentDidMount 回调添加到 ReactComponentB 时,我们使用 def componentDidMount(f: DuringCallbackM[P, S, B, N] => Callback): ReactComponentB[P, S, B, N].

在 javascript 中,组件应该立即 运行 事件的任何副作用,在 componentDidMount 函数(或其他回调)中。在 scalajs-react 中,组件将这些效果包装在 Callback 和 return 中。这允许 scalajs-react 系统延迟 Callback 中代码的实际执行 - 这是稍后通过调用 runNow() 完成的。这也意味着 Callbacks 使用 mapflatMap>> 等组合。它们不会 运行 除非最终调用 runNow(),所以如果您不 return 将 Callback 发送到其他代码以供稍后执行,则仅创建它什么也做不了。

much more about Callback in the docs.