React-ecma6 Dosent scheinen Getter ohne Setter zu definieren Gibt es eine Möglichkeit, eine Getter-Methode zu definieren und einen Wert durch eine andere Methode zu ändern? definieren Getter ohne Setter ecma6 - reagieren
import React from 'react';
export default class GetterOnly extends React.Component {
constructor(props) {
super(props);
this._is_on = false;
}
on() {
this._is_on = true;
}
get is_on() {
return this._is_on;
}
render() {
}
}
var _getter = new GetterOnly()
_getter.on();
Uncaught TypeError: Cannot set property is_on of #GetterOnly which has only a getter
patchProperty @ makeAssimilatePrototype.js:21 (anonymous function) @ makeAssimilatePrototype.js:52 (anonymous function) @ makeAssimilatePrototype.js:51 reconcileWithStoredPrototypes @ makeAssimilatePrototype.js:50 assimilatePrototype @ makeAssimilatePrototype.js:63 patchReactClass @ makePatchReactClass.js:40 makeHot @ makeMakeHot.js:33 makeExportsHot @ makeExportsHot.js:44 (anonymous function) @ GetterOnly.js:139 (anonymous function) @ GetterOnly.js:139 (anonymous function) @ GetterOnly.js:140 (anonymous function) @ app.js:5062 webpack_require @ app.js:556 fn @ app.js:87 (anonymous function) @ page.js:35 (anonymous function) @ page.js:81 (anonymous function) @ page.js:82 (anonymous function) @ app.js:5056 webpack_require @ app.js:556 fn @ app.js:87 (anonymous function) @ Routes.js:19 (anonymous function) @ Routes.js:52 (anonymous function) @ Routes.js:53 (anonymous function) @ app.js:4438 webpack_require @ app.js:556 fn @ app.js:87 (anonymous function) @ makoVOD.js:19 (anonymous function) @ makoVOD.js:62 (anonymous function) @ makoVOD.js:63 (anonymous function) @ app.js:1042 webpack_require @ app.js:556 fn @ app.js:87 (anonymous function) @ multi_main:3 (anonymous function) @ app.js:586 webpack_require @ app.js:556 (anonymous function) @ app.js:579 (anonymous function) @ app.js:582
Nein, es ist erlaubt - es ist kein Syntaxfehler. Die Fehlermeldung weist darauf hin, dass etwas versucht hat, '. Überprüfen Sie die Stack-Ablaufverfolgung des Fehlers, um festzustellen, woher es stammt. – Bergi
Dies ist eine vereinfachte Version des Codes, und es zeigt immer noch einen Fehler: 'importieren Reagieren von 'reagieren'; Klasse GetterOnly erweitert React.Component { \t Konstruktor (Requisiten) { \t \t Super (Requisiten); \t \t}; \t \t get_on() { \t \t zurückgeben this._is_on; \t}; \t render() { \t}; } Export Standard GetterOnly ' –
Dies scheint ein Problem mit dem Import/Export-Module zu sein –