javascript - 传播时在立即创建的对象上分配对象
问题描述
我有点厌倦了以这种方式传递 react 道具
<Comp one={one} two={two} three={three} />
所以我开始做
<Comp {...{one, two, three}} />
但是我意识到这会计算到 Object assig
react.createElement(Comp , Object.assign({
one: one,
two: two
}, {
__source: {
fileName: _jsxFileName,
lineNumber: 95
},
因为我正在传播一个我刚刚创建的对象,所以我希望编译器/转译器足够聪明,能够意识到这一点并做这样的事情
react.createElement(Comp ,{
one: one,
two: two,
__source: {
fileName: _jsxFileName,
lineNumber: 95
},
是否有任何 Babel 插件来完成此操作,或以任何方式编译?
问候
解决方案
您使用的 Babel 版本和设置非常重要。
使用最新的,我有这个代码:
return (<Child {...{ name: this.name }} />);
变成了这样:
return Object(m.a)(t, e), Object(c.a)(t, [{
key: "render",
value: function() {
return o.a.createElement(k, {
name: this.name
})
}
}])
推荐阅读
- perl - 如何使用简单的 perl 脚本重新排列我的 txt 文件的行?
- php - “http 错误 500” php html 联系表
- flutter - 如何在 Flutter 上运行多个通知,每个通知都有指定的时间?
- javascript - 在 React 中有条件地渲染类
- javascript - 如何在 Rails 5 上包含一个 javascript 库?
- java - Can't use class because come components are package private
- oracle - 如何在 oracle 12.2 中建立有关程序执行的统计信息?
- spring-boot - 如何解决找不到能够从类型 TupleBackedMap 转换为类型 [com.example.dto.ExampleDto] 的转换器
- google-data-studio - 如何在 Data Studio 中为多个最终用户启用“按电子邮件过滤”?
- javascript - 如何将 Javascript html 文件中的元素值变量传递给 Google Apps 脚本中的 code.gs 文件?