这里是这样写的:
包括一个 CallbackTo[A] 类型,它捕获指定用于 React 回调的效果。
在这种情况下,什么是 React 回调?
据我所知,只是回调的正常含义-响应事件而调用的函数。因此,例如在React 组件中,有许多类似的函数componentDidMount
在组件生命周期的不同阶段被调用。在 scalajs-react 中,这些被实现为返回 a 的函数,CallbackTo[Unit]
也可以将其写为Callback
类型别名。例如,当向 a 添加componentDidMount
回调时ReactComponentB
,我们使用def componentDidMount(f: DuringCallbackM[P, S, B, N] => Callback): ReactComponentB[P, S, B, N]
.
componentDidMount
在 javascript 中,组件应该立即在函数(或其他回调)中运行事件的任何副作用。在 scalajs-react 中,组件将这些效果包装在 a 中Callback
,并返回它。这允许 scalajs-react 系统延迟代码的实际执行Callback
- 这稍后通过调用runNow()
. 这也意味着Callbacks
使用map
,flatMap
等组合在一起>>
。除非最终被调用,否则它们将不会运行runNow()
,因此如果您不将 a 返回Callback
给其他代码以稍后执行,则仅创建它将无济于事。
文档中有更多关于回调的内容。