gpt4 book ai didi

javascript - 理解代码模式 var factory = (0, _react.createFactory)(BaseComponent);

转载 作者:行者123 更新时间:2023-11-28 17:10:42 26 4
gpt4 key购买 nike

我在 npm 模块重构中看到“withHandler.js”的代码,并遇到了以下代码片段
var factory = (0, _react.createFactory)(BaseComponent);
我在 React 库的许多地方都看到了类似样式的代码片段。
请有人帮助理解如何阅读此代码片段。

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

最佳答案

首先了解如何comma operator在 JavaScript 中工作。它从左到右计算操作数并返回最后一个。因此,(0, a.b)() 的计算结果为 (a.b)(),然后是 a.b()

问:那么,(0, a.b)() 的意义何在?为什么不使用a.b()

A:当你写a.b()时,b内的this指的是a而不是全局对象。然而,在 (0, a.b)() 中,您调用 b,而 this 引用全局对象。

因此,调用 (0, _react.createFactory)(BaseComponent) 确保 createFactory 函数中的 this 引用全局对象。

关于javascript - 理解代码模式 var factory = (0, _react.createFactory)(BaseComponent);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54502721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com