Ich verwende den folgenden Code, um Standard-Requisiten für eine React-Komponente festzulegen, aber es funktioniert nicht. In der render()
Methode kann ich sehen, dass die Ausgabe "undefinierte Requisiten" auf der Browserkonsole gedruckt wurde. Wie kann ich einen Standardwert für die Komponentenstützen definieren?
export default class AddAddressComponent extends Component {
render() {
let {provinceList,cityList} = this.props
if(cityList === undefined || provinceList === undefined){
console.log('undefined props')
}
...
}
AddAddressComponent.contextTypes = {
router: React.PropTypes.object.isRequired
}
AddAddressComponent.defaultProps = {
cityList: [],
provinceList: [],
}
AddAddressComponent.propTypes = {
userInfo: React.PropTypes.object,
cityList: PropTypes.array.isRequired,
provinceList: PropTypes.array.isRequired,
}
quelle
react
/native
doc angesehen und konnte sie nicht finden, wo ist das doc dafür?static
Klassenvariablen es sich handelt, ist dies sinnvoll. Ich empfehle daher, sie auf MDN zu lesen . Grundsätzlich entspricht die Syntax in der Dokumentation dieser, da beide der Klasse selbst Informationen zu den Requisiten hinzufügen, nicht zu den einzelnen Instanzen.Zuerst müssen Sie Ihre Klasse von den weiteren Erweiterungen trennen, z. B. können Sie sie nicht
AddAddressComponent.defaultProps
innerhalb der erweitern,class
sondern nach außen verschieben.Ich werde Ihnen auch empfehlen, sich über den Lebenszyklus des Konstruktors und der Reaktion zu informieren: siehe Komponentenspezifikationen und Lebenszyklus
Folgendes möchten Sie:
quelle
constructor
und brauchencomponentWillReceiveProps
? Mir scheint, das OP hat gerade eine schließende Klammer für ihre Klassendeklaration vergessen.Sie können auch die Destrukturierungszuweisung verwenden.
Ich mag diesen Ansatz, da Sie nicht viel Code schreiben müssen.
quelle
Verwenden Sie statische defaultProps wie:
Entnommen aus: https://github.com/facebook/react-native/issues/1772
Wenn Sie die Typen überprüfen möchten, lesen Sie, wie PropTypes in der Antwort von treyhakanson oder Ilan Hasanov verwendet werden, oder lesen Sie die vielen Antworten im obigen Link.
quelle
Sie können die Standard-Requisiten unter Verwendung des Klassennamens wie unten gezeigt festlegen.
Sie können den von React empfohlenen Weg über diesen Link verwenden, um weitere Informationen zu erhalten
quelle
Für einen Funktionstyp prop können Sie den folgenden Code verwenden:
quelle
Wenn Sie eine Funktionskomponente verwenden, können Sie Standardwerte in der Destrukturierungszuweisung wie folgt definieren:
quelle
quelle