Reagieren v16: Uncaught TypeError: Cannot read property 'Objekt' undefined
Bin ich immer diese Fehlermeldung und weiß nicht, was falsch ist, mein code ist einfach, ich bin einfach nur versucht, ein array. Ist so einfach, aber noch können ' T es herausfinden.
Bin ich mit Meteor 1.5.3 Reagieren mit 16
import React, { Component, PropTypes } from 'react';
export default class ListMeds extends Component {
render(){
return(
<li>{this.props.meds.text}</li>
);
}
}
ListMeds.propTypes = {
meds: React.PropTypes.object.isRequired,
};
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser Fehler wird angezeigt, weil der Sie verwenden die 16 version React.js. In diesem blog-post (bekannt React.js version 16) können Sie Lesen:
Sollten Sie prop-Typen - Modul mit (wenn Sie
npm
):oder
für
yarn
Fall. Und schreiben Sie Ihren code so:Wenn Sie Reagieren 15+, müssen Sie es importieren
prop-types
- Paket separat. Ihr code sollte lauten:JS:
Beachten Sie, dass die Fehlermeldung lautet "Objekt " undefined", was bedeutet
React.PropTypes
ist nicht definiert.Vom Reagieren docs,
Sehen https://reactjs.org/docs/typechecking-with-proptypes.html
prop-Typen-Bibliothek: https://github.com/facebook/prop-types
Installieren Sie das Paket und importieren Sie es in Ihrem code.
Bekam ich die gleichen Probleme.. und Sie es beheben zu tun:
Akzeptierte Antwort richtig fest, dass prop-Typen ist jetzt ein eigener Paket, ich wollte nur hinzufügen, dass, wenn Sie schreiben ES6-Klassen und bereits mit ES6+ features, könnte es mehr idiomatische setzen PropTypes als statische variable in der Klasse selbst (Anmerkung: dies gilt in einer Umgebung mit Babel mit den entsprechenden Vorgaben).
Einem Instagram-Ingenieur schrieb einen großen Beitrag auf Reagieren und ES6+. Sie können prüfen, den Vorschlag für die Klasse Felder hier und alle Vorschläge hier.