Javascript 如何在reactjs函数对象中进行继承?

Javascript 如何在reactjs函数对象中进行继承?,javascript,reactjs,inheritance,jsx,Javascript,Reactjs,Inheritance,Jsx,如何在Reactjs中进行继承,我正在使用基于画布的应用程序。我需要创建对象并扩展和添加一些东西和事件,例如,我尝试编写基本代码。这是我尝试过但没有成功的方法,我想知道我应该做些什么来实现这一点 export default function car() { let speed = 40; let name = 'basic car' let engine = { type: petrol } this.run = () => { console.lo

如何在Reactjs中进行继承,我正在使用基于画布的应用程序。我需要创建对象并扩展和添加一些东西和事件,例如,我尝试编写基本代码。这是我尝试过但没有成功的方法,我想知道我应该做些什么来实现这一点

export default function car() {
  let speed = 40;
  let name = 'basic car'
  let engine = {
    type: petrol
  }

  this.run = () => {
    console.log(name + ' can run with max ' + speed + 'kmph');
  }

  this.getinfo = () => {
    console.log('this is ' + name + ' which can run using ' + engine.type)
  }

  this.eve = () => {
    //Trigger engine object redux events
  }

  this.getengine = () => {
    return engine
  }

}

export default mustang extends car() {
  this.speed = 200
  this.name = 'ford mustang'
  this.engine = {
    type 'disel'
  }
}


let mycar = new mustang()
mycar.run() // Required output = ford mustang can run with max 200kmph
mycar.getinfo() //Required output = this is ford mustang which can run using disel
mycar.eve() // Require output fordcar engine triggler event
mycar.getengine() // Rquire output ford car disel type engine object

你把一些语法弄混了。
extends
关键字只能在使用语法时使用。它基本上与函数构造函数做相同的事情,但它是ES6中添加的语法糖层,用于更轻松地创建对象构造函数

等级车{
构造函数(){
这个速度=40;
this.name='basic car'
这个引擎={
类型:“汽油”
}
}
运行(){
log(this.name+'可以在max'+this.speed+'kmph'下运行);
}
getinfo(){
console.log('这是'+this.name+',可以使用'+this.engine.type'运行)
}
夏娃(){
//触发引擎对象重复事件
}
getEngine(){
归还这台发动机;
}
}
野马级轿车{
构造函数(){
超级();
这个速度=200
this.name='ford mustang'
这个引擎={
类型:“柴油机”
}
}
}
让我的车=新野马()
mycar.run()//所需输出=福特野马可以以最高时速200公里的速度行驶
mycar.getinfo()//Required output=这是福特野马,可以使用disel运行
mycar.eve()//需要汽车引擎触发器事件的输出

mycar.getEngine()//请求输出ford car disel类型的引擎对象
您混淆了一些语法。
extends
关键字只能在使用语法时使用。它基本上与函数构造函数做相同的事情,但它是ES6中添加的语法糖层,用于更轻松地创建对象构造函数

等级车{
构造函数(){
这个速度=40;
this.name='basic car'
这个引擎={
类型:“汽油”
}
}
运行(){
log(this.name+'可以在max'+this.speed+'kmph'下运行);
}
getinfo(){
console.log('这是'+this.name+',可以使用'+this.engine.type'运行)
}
夏娃(){
//触发引擎对象重复事件
}
getEngine(){
归还这台发动机;
}
}
野马级轿车{
构造函数(){
超级();
这个速度=200
this.name='ford mustang'
这个引擎={
类型:“柴油机”
}
}
}
让我的车=新野马()
mycar.run()//所需输出=福特野马可以以最高时速200公里的速度行驶
mycar.getinfo()//Required output=这是福特野马,可以使用disel运行
mycar.eve()//需要汽车引擎触发器事件的输出

mycar.getEngine()//Rquire output ford car disel type engine对象
您拼错了
extends
。实际上,我只是为了在这里发布而编写了此代码,我的原始问题是基于画布的,我发布了简单的逻辑问题。如果您可以包含与画布相关的代码,理解您试图实现的继承可能更容易。对于您的简单逻辑示例,建议您使用类而不是函数。您拼写错误了
extends
。实际上,我编写此代码只是为了在此处发布,我的原始版本是基于画布的,我发布了简单逻辑问题。如果您可以包含与画布相关的代码,理解您试图实现的继承可能更容易。对于简单的逻辑示例,建议使用类而不是函数。