2016-12-30 75 views
1
// 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> 

的quesion的JSX ES6對象傳播經營者低於:在reactjs

<Link {...this.props} activeClassName="active"/>,這句話是什麼編譯爲ES5,如果this.props = {到: 「/家庭」,孩子們:「首頁「}?

+0

你可以找到你自己:https://babeljs.io/repl/。 –

回答

2

Straight from the Babel homepage

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

我省略了_extends填充工具,它基本上解析爲Object.assign(如果可用)。

+0

是否存在除了使用babel庫之外的對象傳播的現有polyfill? – guest271314

+0

任何用作Object.assign的polyfill的東西。對象傳播僅僅是合併對象。 –

+0

也許以前的評論措詞不夠。意味着在普通對象內使用傳播或休息元素語法,而不使用babel。 – guest271314

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