散布时在立即创建的对象上分配对象

时间:2018-11-30 00:30:58

标签: javascript reactjs

我有点厌倦了以这种方式传递反应道具

preventDefault

所以我开始做

<Comp one={one} two={two} three={three} />

但是我意识到这可以计算为对象关联

<Comp {...{one, two, three}} />

由于我正在散布一个我刚刚创建的对象,所以我希望编译器/编译器足够聪明,可以意识到这一点,而要做类似的事情

react.createElement(Comp , Object.assign({
    one: one,
    two: two
  }, {
    __source: {
      fileName: _jsxFileName,
      lineNumber: 95
    },

有没有Babel插件来完成此操作,或以这种方式进行编译的任何方式?

致谢

1 个答案:

答案 0 :(得分:0)

您使用的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
        })
    }
}])