Javascript Getter返回未定义的

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

我有一个静态getter,它捕获类中的变量。然而,getter返回undefined,而通过这个函数获取变量

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,它是一个实例的方法,尽管老实说,我不确定您是否需要一个类,因为所有实例看起来都一样,所有值都是常量。为了更清楚地了解项目,更新了。