Deaktivieren Sie React.createClass und PropTypes veraltete Warnungen in Babel react present
Spätestens Reagieren 15.5.1 Paket, bei Verwendung von babel reagieren Gegenwart zu lösen jsx-Datei, erscheint folgende Warnungen:
Warning: Accessing PropTypes via the main React package is deprecated. Use the prop-types package from npm instead.
warning.js:36 Warning: A Component: React.createClass is deprecated and will be removed in version 16. Use plain JavaScript classes instead. If you're not yet ready to migrate, create-react-class is available on npm as a drop-in replacement.
Mein code ist folgender:
import React from 'react'
import ReactDOM from 'react-dom';
class Counter extends React.Component {
constructor(props) {
super(props);
this.state = {
count: 1
}
}
componentDidMount() {
setInterval( ()=> {
this.setState((prevState, props) => ({
count: prevState.count + 1
}))
}, 1000)
}
render(){
return (
<h1>{this.state.count}</h1>
)
}
}
const root = document.createElement('div');
root.id = 'app';
document.body.appendChild(root);
ReactDOM.render(
<Counter />,
document.querySelector('#app')
);
Verwende ich nicht Reagieren.createClass und PropTypes in meinem code, Es scheint, babel zu verwandeln, meinen code zu React.createClass
und PropTypes
Wie man den Fehler beheben?
InformationsquelleAutor der Frage TangMonk | 2017-04-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Reagieren 15.5.0 enthalten neue Warnungen gehören zu den Veränderungen, die kommen, Reagieren auf 16, die Warnung, die Sie bekommen, tatsächlich sagen Sie, dass Sie zur Umsetzung des neuen Weg (da die aktuelle Art und Weise, die Sie verwenden, wird als veraltet auf 16).
React.createClass
Sie haben 2 Möglichkeiten, die erste ist nur mit normal-JS-syntax:oder verwenden Sie den
create-react-class
- Modul (verfügbar auf npm):Über die PropTypes Warnung, überprüfen, ob Sie mit Modul, dass die Verwendung PropTypes, manchmal kommt es aus externen Teil.
Sowieso, um mehr darüber zu Lesen, Sie sind willkommen zu Holen Facebook blog-Beitrag über diese änderungen
InformationsquelleAutor der Antwort Idan Gozlan
React.createClass
undReact.PropTypes
wurde als veraltet markiert in v15.5.Einige Kollegen/Abhängigkeiten müssen mit
React.createClass
undReact.PropTypes
mitReact:^15.4
(oder jede andere version), die ist sehr kompatibel mit Ihrer version reagieren.So bekommen Sie eine Warnung für die es code.
Entnehmen Sie bitte dieser link für 15.5 Änderungen
https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html
InformationsquelleAutor der Antwort Vikas Sardana
Reagieren v15.5.0 implementiert neue Warnungen
Herabstufung Reagieren 15.4.x funktioniert bei mir
InformationsquelleAutor der Antwort Vituzan Siva
Fand ich, dass die Warnung war da, ich war den Import Reagieren mit
ändern dies
macht die Warnungen verschwinden
InformationsquelleAutor der Antwort Ivo Bosticky
Dies ist keine Antwort, nur eine Sache hinzufügen, wie ich kann noch nicht kommentieren 🙁 Vielleicht jemand anderes haben die gleiche Problem mit reagieren-bootstrap
Ich habe die gleiche, wenn mit reagieren-bootstrap 0.30.8 zusammen mit reagieren 15.5.3
Warnung: Unkontrollierte(Dropdown): Reagieren.createClass ist veraltet und wird entfernt werden, in der version 16. Benutzen Sie einfach die JavaScript-Klassen statt. Wenn Sie noch nicht bereit sind, zu migrieren, erstellen Sie-reagieren-class ist verfügbar auf npm als drop-in Ersatz.
bekomme ich in:
uncontrollable/createUncontrollable.js --->
[email protected] ist ein dep-reagieren-bootstrap 0.30.8
und
Warnung: der Zugriff auf die PropTypes über Haupt Reagieren Paket ist veraltet. Verwenden Sie die prop-Typen-Paket von npm statt.
react-bootstrap/es/PanelGroup.js --->
Ich denke Herabstufung reagieren, ist der einzige Weg, um hier Abhilfe, wie reagieren-bootstrap ist noch nicht weit genug.
InformationsquelleAutor der Antwort davey
Sollten Sie nicht verlängern reagieren.Komponente. Sie müssen die import-Komponente aus reagieren und erweitern es hat sich hier gezeigt:
Erfahren Sie mehr über die Unterschiede und ES6-Klassen hier
InformationsquelleAutor der Antwort N. Solomon