Ich habe the official documentation und the npm package description für PropTypes gelesen.Warum überprüft React meine propTypes nicht?
Allerdings, wenn ich diesen Code ausführen,
const propTypes = {
foo: PropTypes.string.isRequired,
bar: PropTypes.number.isRequired,
umu: PropTypes.string
};
const defaultProps = {
umu: "default value"
};
class MyComp extends React.Component {
constructor(props){
super(props);
}
render() {
return (
<ul>
<li>foo is {this.props.foo}</li>
<li>bar is {this.props.bar}</li>
<li>umu is {this.props.umu}</li>
</ul>
);
}
}
MyComp.propTypes = propTypes;
MyComp.defaultProps = defaultProps;
class MyWrapper extends React.Component{
render() {
return (
<div>
<MyComp bar="string and not a number"/>
</div>
);
}
}
ReactDOM.render(React.createElement(MyWrapper, null, null), document.getElementById("app"));
mein propTypes
nicht überprüft werden, obwohl die erforderliche Eigenschaft foo
nicht gesetzt ist und die Eigenschaft bar
ist keine Zahl. Kann mir jemand sagen, was ich falsch mache? Hier ist die entsprechende CodePen.
Vielen Dank im Voraus.
Zwei Fragen: 1. Wie kann ich die Entwicklungsversion von reagieren in CodePen wählen? Ich bin neu in React und CodePen und habe React nur aus dem "Quick-Add" in den Stifteinstellungen ausgewählt. 2. Ich bekomme das gleiche Verhalten mit meinem 'create-react-app'-Projekt in Visual Studio Code. Es gibt keine Warnungen. Wo sollten sie überhaupt erscheinen? In der Terminalausgabe beim Bauen? Hast du weitere Tipps für mich? – Joerg
Ich bin nicht sicher über CodePen, aber nein, die Warnungen erscheinen zur Laufzeit auf Ihrer Browser-Konsole. Führen Sie einfach Ihre App aus und beobachten Sie diese Konsolenfehler im Browser – ZekeDroid