注册
登录
React
React中的这三个点是做什么的?
返回
React中的这三个点是做什么的?
作者:
狗头军师
发布时间:
2024-08-16 02:03:06 (18天前)
什么是…在这个做反应(使用JSX)代码,什么是它叫什么名字?
<Modal {...this.props} title='Modal heading' animation={false}>
收藏
举报
2 条回复
1#
回复此人
v-star*위위
|
2020-08-05 14-52
它是在ES2018中添加的(用于数组/可迭代对象的版本早于ES2015),但是它在React项目中已经通过翻译长期得到支持(“ JSX传播属性 ”,即使您也可以在其他地方这样做) )。 {...this.props} 将 “自己的”可枚举属性props作为离散属性散布在Modal要创建的元素上。例如,如果this.props包含a: 1和b: 2,则
将与
但是它是动态的,因此包括了所有“自有”属性props。 由于children是中的“拥有”属性props,因此传播将包括它。因此,如果出现此内容的组件具有子元素,则将它们传递给Modal。在开始标签和结束标签之间放置子元素只是语法上的糖-一种children在开始标签中放置属性的好方法。例: 显示代码段 扩展符号不仅适用于该用例,而且对于创建具有现有对象的大多数(或全部)属性的新对象也很方便-在更新状态时会遇到很多问题,因为您无法修改状态直: ``` this.setState(prevState => { return {foo: {...prevState.foo, a: "updated"}}; }); ``` 该this.state.foo属性将替换为具有与该属性相同的所有属性的新对象,foo该a属性变为"updated":
编辑
登录
后才能参与评论