Używam poniższego kodu do ustawiania domyślnych rekwizytów w komponencie React, ale to nie działa. W metodzie render() widzę, jak wyjście "niezdefiniowane rekwizyty" zostało wydrukowane na konsoli przeglądarki. Jak mogę zdefiniować wartość domyślną dla rekwizytów komponentów?Jak ustawić domyślne rekwizyty komponentu na komponencie React
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,
}
Czy jesteś pewien, że potrzebują one 'constructor' i' componentWillReceiveProps'? Wydaje mi się, że PO po prostu zapomniał o końcowym nawiasie na deklarację klasową. – ivarni
@ivarni niekoniecznie, ale ważne jest, aby zrozumieć cykl życia, konstruktora i rozszerzenia klasy. więc będzie wiedział, co robi. więc dodałem kilka zewnętrznych linków. –
Uczciwie, po prostu myślę, że mówienie * "musisz" * nie jest ściśle poprawne. Wolałbym powiedzieć coś w stylu: * "możesz dodać te metody do obserwacji cyklu życia" *. W przeciwnym razie dobra odpowiedź :) – ivarni