1

这里是这样写的:

包括一个 CallbackTo[A] 类型,它捕获指定用于 React 回调的效果。

在这种情况下,什么是 React 回调?

4

1 回答 1

1

据我所知,只是回调的正常含义-响应事件而调用的函数。因此,例如在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给其他代码以稍后执行,则仅创建它将无济于事。

文档中有更多关于回调的内容

于 2016-12-10T09:30:31.073 回答