Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript react路由器中的ECMA6扩展参数_Javascript_Reactjs_Ecmascript 6_React Router - Fatal编程技术网

Javascript react路由器中的ECMA6扩展参数

Javascript react路由器中的ECMA6扩展参数,javascript,reactjs,ecmascript-6,react-router,Javascript,Reactjs,Ecmascript 6,React Router,我看到一个示例代码编写为 var App = React.createClass({ render: function () { return ( <div> <div className='content'> <RouteHandler {...this.state} /> </div> </div> ) } }) var-App=Re

我看到一个示例代码编写为

var App = React.createClass({
render: function () {
    return (
      <div>
      <div className='content'>
            <RouteHandler {...this.state} />
      </div>
      </div>
      )
   }
})
var-App=React.createClass({
渲染:函数(){
返回(
)
}
})
这是让我困惑的部分

        <RouteHandler {...this.state} />


在这种情况下,
RouteHandler
自定义元素使用
。带有splat/rest参数的ECMA6函数在其函数定义中使用三个点。那么,为什么人们在应用程序端的函数调用(或)过程中使用

这不是rest运算符,而是应用于JSX属性的。 看

相当于
React.createElement(RouteHandler,Object.assign({},this.state))


请注意,JSX扩展属性特性的对象扩展和rest操作符不是ES6规范的一部分。在ES7中没有将它们包括在内。同时,您可以通过将
--harmony
选项传递给JSX编译器CLI,或将
--stage 1
选项传递给CLI来使用它们。

您应该澄清,这不是普通的ES6 spread操作符,而是一种JSX功能,它可以在对象上工作