为了账号安全,请及时绑定邮箱和手机立即绑定

请大佬结合《React 设计思想》里这个react示例帮解释一下柯里化

请大佬结合《React 设计思想》里这个react示例帮解释一下柯里化

Cats萌萌 2018-11-13 20:30:21
下面这段话提到了柯里化:引用自《React 设计思想》:https://github.com/react-guid...连续性(Continuations)不幸的是,自从 UI 中有太多的列表,明确的管理就需要大量的重复性样板代码。我们可以通过推迟一些函数的执行,进而把一些模板移出业务逻辑。比如,使用“柯里化”(JavaScript 中的 bind)。然后我们可以从核心的函数外面传递 state,这样就没有样板代码了。下面这样并没有减少样板代码,但至少把它从关键业务逻辑中剥离。function FancyUserList(users) {  return FancyBox(     UserList.bind(null, users)   ); }const box = FancyUserList(data.users);const resolvedChildren = box.children(likesPerUser, updateUserLikes);const resolvedBox = {   ...box,   children: resolvedChildren };问题:感觉没理解清楚柯里化,请大佬结合上面的示例帮解释一下,谢谢。
查看完整描述

1 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

你的例子没有贴全,比如FancyBox是啥,likesPerUser呢?updateUserLikes呢? 很难全部理解。但是我根据我的理解,
与柯里化相关的另一个概念是 partial, partial的意思你可以不给全函数参数的情况下执行,然后它返回
一个新的函数用来接受剩下的参数。

柯里化看起来要比partial更加严格,讲的是函数只能接受一个参数。 如果一个函数接受多个参数,
柯里化的结果就是每次接受一个函数,进而返回一个新的函数。

知道了概念之后,看下你的例子
柯里化我倒是没觉得哪里有体现


查看完整回答
反对 回复 2018-11-13
  • 1 回答
  • 0 关注
  • 847 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信