代码之家  ›  专栏  ›  技术社区  ›  Akshay Vijay Jain

了解代码模式var factory=(0,_react.createfactory)(basecomponent);[重复]

  •  0
  • Akshay Vijay Jain  · 技术社区  · 6 年前

    我在NPM模块重新编译中看到了“withhandler.js”的代码,我看到了以下代码片段
    var factory = (0, _react.createFactory)(BaseComponent);
    我在React库的许多地方看到了类似样式的代码片段。
    请有人帮忙理解,如何阅读这段代码片段。

    N.B.\u react是react它被定义为
    _react= require('react')

    1 回复  |  直到 6 年前
        1
  •  3
  •   frogatto    6 年前

    首先学习如何 comma operator 在javascript中工作。它从左到右计算操作数并返回最后一个操作数。所以, (0, a.b)() 评估为 (a.b)() 然后 a.b() .

    问:那么,有什么意义呢? (0,A.B)() ?为什么不呢? A.() ?

    A:当你写作的时候 A.() , this 里面 b 指的是 a 不是全局对象。然而在 (0,A.B)() 你在打电话 虽然 引用全局对象。

    所以,呼唤 (0, _react.createFactory)(BaseComponent) 确保 里面 createFactory 函数引用全局对象。