Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >具有增强属性的ReactJS - ES6类调用超级()

具有增强属性的ReactJS - ES6类调用超级()
EN

Stack Overflow用户
提问于 2016-02-16 08:02:41
回答 1查看 166关注 0票数 2

这就是我想要做的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
constructor(props, store) {
  props.store = store;
  super(props);
};

我得到以下错误:

Uncaught :无法添加属性存储,对象不可扩展

我知道属性在ReactJS中是不可变的。那么,我如何克隆,然后扩大现有的属性呢?

更新1

一些背景:我基本上是在试图避免使用this._store“私有”变量,并且希望将其放在props中,因为值是在对象创建时已知的,不会更改。

我的类层次结构如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import SpeakersStore from ...;
class SpeakersViewController extends ItemsViewController {
  constructor(props) {
    super(props, SpeakersStore);
  };
  ...
};

class ItemsViewController extends React.Component {
  constructor(props, store) {
    props.store = store;
    super(props);
  };
  ...
};
EN

回答 1

Stack Overflow用户

发布于 2016-02-16 08:43:24

您应该能够做到以下几点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
constructor(props, store) {
  super({...props, store});
}

如果您所处的环境中对象扩展运算符( {...props}构造)不可用,则可以使用Object.assign

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
constructor(props, store) {
  super(Object.assign({}, props, {store});
}

但是,如果这是React组件的构造函数,请注意,React.Component的构造函数的第二个参数是context,您将无法得到所要的行为。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35437292

复制
相关文章
在ReactJS体验ES6中的class类
你也可以使用类表达式定义类。但是不同于类表达式,类声明不允许再次声明已经存在的类,否则将会抛出一个类型错误。
JavaEdge
2021/03/15
1.8K0
让Python中类的属性具有惰性求值的能力
我们希望将一个只读的属性定义为 property 属性方法,只有在访问它时才进行计算,但是,又希望把计算出的值缓存起来,不要每次访问它时都重新计算。
Python中文社区
2018/09/21
1.5K0
让Python中类的属性具有惰性求值的能力
子类调用父类的同名方法和属性
在这里,定义Prentice类,继承了Master和School类,添加了和父类同名属性和方法
北山啦
2022/10/31
1.9K0
Python类的调用以及私有和公有属性方法的调用
代码 class Site: __wocao = 123 #私有属性 wocao = 456 #公有属性 def __init__(self, name, url): self.name = name # public self.__url = url # private def who(self): print('name : ', self.name) print('url : ', self._
院长技术
2021/02/22
2.5K0
【python 3.6】类:访问属性及调用方法
调用方法时,使用x.zhekou(),要加括号,是否有返回,要看方法中是否有return
BH8ANK
2021/01/29
1.8K0
Ingress API 的增强属性
我们知道在 Kubernetes 集群内部使用 kube-dns 实现服务发现的功能,那么我们部署在 Kubernetes 集群中的应用如何暴露给外部的用户使用呢?我们知道可以使用 NodePort 和 LoadBlancer 类型的 Service 可以把应用暴露给外部用户使用,除此之外,Kubernetes 还为我们提供了一个非常重要的资源对象可以用来暴露服务给外部用户,那就是 Ingress。对于小规模的应用我们使用 NodePort 或许能够满足我们的需求,但是当你的应用越来越多的时候,你就会发现对于 NodePort 的管理就非常麻烦了,这个时候使用 Ingress 就非常方便了,可以避免管理大量的端口。
我是阳明
2021/12/16
7100
Ingress API 的增强属性
Ingress API 的增强属性
我们知道在 Kubernetes 集群内部使用 kube-dns 实现服务发现的功能,那么我们部署在 Kubernetes 集群中的应用如何暴露给外部的用户使用呢?我们知道可以使用 NodePort 和 LoadBlancer 类型的 Service 可以把应用暴露给外部用户使用,除此之外,Kubernetes 还为我们提供了一个非常重要的资源对象可以用来暴露服务给外部用户,那就是 Ingress。对于小规模的应用我们使用 NodePort 或许能够满足我们的需求,但是当你的应用越来越多的时候,你就会发现对于 NodePort 的管理就非常麻烦了,这个时候使用 Ingress 就非常方便了,可以避免管理大量的端口。
CNCF
2021/12/16
6300
Ingress API 的增强属性
写给Java后端的ReactJS快速入门教程-ES6中的class类关键字
你也可以使用类表达式定义类。但是不同于类表达式,类声明不允许再次声明已经存在的类,否则将会抛出一个类型错误。
JavaEdge
2022/11/30
3370
写给Java后端的ReactJS快速入门教程-ES6中的class类关键字
ERP那些具有“组织”属性字段的启发
声明:本文仅代表原作者观点,仅用于SAP软件的应用与学习,不代表SAP公司。注:文中所示截图来源SAP软件,相应著作权归SAP所有。文中所指ERP即SAP软件。
齐天大圣
2021/04/23
8670
ERP那些具有“组织”属性字段的启发
九个超级实用的 ES6 特性
剩余参数将剩余的参数收入数列。JavaScript 的特性是参数数目很灵活。通常会有一个 arguments 变量收集参数。
Sneaker-前端公虾米
2021/12/23
2760
reactjs
最近在学习react js,ReactJS是Facebook开发的用于构建用户界面的JAVASCRIPT库,利用其可以实现组件式开发。
用户1394570
2018/08/08
1.3K0
[C#6] 5-自动属性增强
0. 目录 C#6 新增特性目录 1. 老版本代码 1 internal class Person 2 { 3 public string Name { get; private set; } 4 public int Age { get; private set; } 5 6 public Person(string name,int age) 7 { 8 Name = name; 9 Age = age; 10
blackheart
2018/01/19
6210
[C#6] 5-自动属性增强
es6删除对象的某个属性
1.不改变原始对象 方法1(删除age属性为例) const obj = { name: 'xingxing', gender: 'girl', age: 24 }; const objNew = (({ name, gender }) => ({ name, gender }))(obj) console.log(obj) console.log(objNew) 输出如下: 方法2(删除age为例) const obj = { name: 'xingxing', gender: 'g
五月
2022/11/15
2.1K0
es6删除对象的某个属性
超级增强子相关调控分析
在基因转录调控方面,基因的启动区域会受到转录因子的调控,进而影响基因的功能。这样和转录因子结合的区域,我们称之为增强子。而超级增强子的话,则是包含了很多的增强子的区域。这段区域密集的收到转录因子的调控,这样就更加影响基因的变化了。SEanalysis(http://licpathway.net/SEanalysis/index.do)是一个用来分析超级增强子调控的数据库。这个数据库可以鉴定超级增强子相关基因,转录因子对于超级增强区域的调控以及鉴定到的转录因子上游的相关通路。
医学数据库百科
2020/07/14
9780
超级实用的Java工具类!
在平时开发过程中,经常会重复“造轮子”,在同一个项目里面,可能会出现各种各样每个人自己实现的工具类,这样不仅降低了开发效率,而且代码也不好维护。
程序员大彬
2021/10/01
1.9K0
使用ROSE鉴定超级增强子
ROSE是最经典的超级增强子预测软件,由Richard A. Young大牛团队开发,源代码的网址如下
生信修炼手册
2019/12/19
5.9K1
使用ROSE鉴定超级增强子
jQuery 隐藏具有指定class属性值的元素
代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>前端</title> <style> .antzone{ width:200px; height:100px; background:#ccc; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script> $(document).ready(func
IT工作者
2022/02/17
5K0
超级实用的Java工具类
在平时开发过程中,经常会重复“造轮子”,在同一个项目里面,可能会出现各种各样每个人自己实现的工具类,这样不仅降低了开发效率,而且代码也不好维护。
程序员大彬
2022/07/08
9070
十个超级实用的 ES6 特性
“ 关注 前端开发社区 ,回复 '领取资源',免费领取Vue,小程序,Node Js,前端开发用的插件以及面试视频等学习资料,让我们一起学习,一起进步
前端老道
2020/05/26
4260
十个超级实用的 ES6 特性
十个超级实用的 ES6 特性
剩余参数将剩余的参数收入数列。JavaScript 的特性是参数数目很灵活。通常会有一个 arguments 变量收集参数。
前端老道
2022/03/28
2500
十个超级实用的 ES6 特性

相似问题

访问ES6超级属性

12

es6超级propMethod调用超级其他propMethod

14

在ES6类中调用超级(Props)很重要吗?

10

ES6类扩展另一个类并多次调用超级类?

22

ES6类中的超级模板文字

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文