繁体   English   中英

es6的jsx中的es6对象传播运算符

[英]es6 object spread operator in jsx of reactjs

// modules/NavLink.js
import React from 'react'
import { Link } from 'react-router'

export default React.createClass({
  render() {         
    //for example this.props={from: "home", to: "about"}
    return <Link {...this.props} activeClassName="active"/> // ???what does the statement compile to es5?
  }
})

// modules/App.js
import NavLink from './NavLink'

// ...

<li><NavLink to="/home">Home</NavLink></li>

问题如下:

<Link {...this.props} activeClassName="active"/> ,如果this.props = {to:“ / home”,children:“ Home”},则该语句将编译为es5?

直接从Babel主页

React.createElement(Link, _extends({}, this.props, { activeClassName: "active" }));

我省略了_extends ,它基本上解析为Object.assign如果可用)。

<Link to="/home" children="Home" activeClassName="active"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM