Prawdopodobnie robię coś głupiego, ale nie mogę dostać defaultProps do pracy.React defaultProps nie działa
export default class MyClass extends Component{
static propTypes = {
name: React.PropTypes.string.isRequired,
field: React.PropTypes.object.isRequired
}
static defaultProps = {
field: { value: '', errors: [] }
}
render() {
// blah blah
}
}
Mam kod, który opiera się na this.props.field.value
i this.props.field.errors.length
i wszystkich moich testów są wysadzenie z TypeError: 'undefined' is not an object (evaluating 'this.props.field.errors.length')
nie powinny domyślną rekwizyty nadać mu wartość domyślną? Początkowo moja propozycja field
jest pustym obiektem.
Powinienem mieć nieco dokładniej RTFM, będę musiał przemyśleć moje podejście. – Lee
to jest kluczowy punkt "Domyślne rekwizyty są używane tylko wtedy, gdy dla rekwizytów nie jest przekazywana żadna wartość, to jest płytkie połączenie, a nie głęboka fuzja." – Wayou
Wygląda na to, że odnośnik do linku jest nieaktualny. Zapoznaj się z tą stroną. https://reactjs.org/docs/react-without-es6.html#declaring-default-props –