Javascript Getter返回未定义的
我有一个静态getter,它捕获类中的变量。然而,getter返回undefined,而通过这个函数获取变量Javascript Getter返回未定义的,javascript,reactjs,ecmascript-6,undefined,getter,Javascript,Reactjs,Ecmascript 6,Undefined,Getter,我有一个静态getter,它捕获类中的变量。然而,getter返回undefined,而通过这个函数获取变量 import React, { Component } from 'react'; class ParentClass extends Component { _title = "Parent Class"; static get title() { return this._title; } } export default class C
import React, { Component } from 'react';
class ParentClass extends Component {
_title = "Parent Class";
static get title() {
return this._title;
}
}
export default class ChildClass extends ParentClass {
_title = "Child Class";
render() {
return (
<div>
<p>{"By Variable: " + this._title}</p>
<p>{"By Getter: " + this.title}</p>
</div>
)
}
}
这是渲染结果:
更新:
这是我的应用程序,或尝试从外部访问该类的内容:
import React, { Component } from 'react';
import ChildClass from './pages/Status';
class App extends Component {
render() {
return (
<div className="App">
<div className="App-header">
<img src={byu} className="App-logo" alt="logo" />
<h2>Welcome to the P&G System Status Utility</h2>
</div>
<p className="App-intro">
To get started, select a server:
</p>
<p>{"Outside Title: " + ChildClass.title}</p>
<p>{"Outside Description: " + ChildClass.description}</p>
<p>{"Outside Author: " + ChildClass.author}</p>
<ChildClass/>
<Scanner/>
</div>
);
}
}
export default App;
这是它扩展的子类和父类
import React, { Component } from 'react';
class ParentClass extends Component {
_title = "Debug";
_description = "Debug Description";
_author = "Arbiter";
get title() {
return this._title;
}
set title(value) {
this._title = value;
}
get description() {
return this._description;
}
set description(value) {
this._description = value;
}
get author() {
return this._author;
}
set author(value) {
this._author = value;
}
}
export default class ChildClass extends ParentClass {
title = "Child Class";
render() {
return (
<div>
<p>{"Title Inside: " + this.title}</p>
<p>{"Description Inside: " + this.description}</p>
<p>{"Author Inside: " + this.author}</p>
</div>
)
}
}
结果是:
我完全不知道StackOverflow是如何工作的
我有一个静电吸气剂
这正是问题所在。它不应该是静态的。您正在声明ParentClass.title而不是实例属性。您认为它会做什么?好的,下面是我的情况。我有一门课,可以说是我的家长课。我希望能够从外部访问title变量。我导入ParentClass,然后我说ParentClass.title-但它返回未定义的。但是我的扩展父类的子类可以访问getter。如果这有意义的话,我们的想法是子类可以扩展父类。而其他类仍然通过get set访问其变量。但是,我认为静态是使变量外部可访问的唯一方法。为什么要使其外部可访问?还有哪些类可以访问它的值?您展示的唯一用法是render,它是一个实例的方法,尽管老实说,我不确定您是否需要一个类,因为所有实例看起来都一样,所有值都是常量。为了更清楚地了解项目,更新了。