Tôi có thể đang làm điều gì đó ngu ngốc, nhưng tôi không thể có được các trình mặc định để làm việc.React defaultProps không hoạt động
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
}
}
tôi có mã dựa trên this.props.field.value
và this.props.field.errors.length
và tất cả các thử nghiệm của tôi được thổi lên với TypeError: 'undefined' is not an object (evaluating 'this.props.field.errors.length')
, không nên đạo cụ mặc định của tôi cho nó một giá trị mặc định? Ban đầu, giá đỡ field
của tôi là một đối tượng trống.
Nên có RTFM cẩn thận hơn một chút, sẽ phải suy nghĩ lại cách tiếp cận của tôi. – Lee
đây là điểm mấu chốt "Đạo cụ mặc định chỉ được sử dụng nếu không có giá trị nào được truyền cho giá đỡ. Nó là vùng hợp nhất cạn, không phải là sự hợp nhất sâu". – Wayou
Dường như tham chiếu liên kết đã lỗi thời. Vui lòng tham khảo trang này để thay thế. https://reactjs.org/docs/react-without-es6.html#declaring-default-props –