我正在查看来自here的反应路由器代码。这是一个更简单的reddit帖子网站实现。
RouteHandler
将额外属性设为{...this.state}
。
<div className='content'>
<RouteHandler {...this.state} />
</div>
花括号内的三点是什么意思?
this.state
未明确分配值,它将被解析为什么?
这是如何选择routes
变量here中定义的三个路径处理程序之一 -
答案 0 :(得分:4)
这是ES6 spread operator,它的作用是将数组解包为发送到RouteHandler的各个参数。
虽然这仅适用于ES6中的数组,但JSX转换器允许您将此语法用于对象,并允许您在this.state
等对象上使用它。
更新以澄清感谢@zerkms;