我使用下面的代碼來設置React組件上的默認道具,但它不起作用。在render()方法中,我可以看到輸出「undefined props」被打印在瀏覽器控制檯上。我如何定義組件道具的默認值?如何在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,
}
你確定他們需要'constructor'和'componentWillReceiveProps'嗎?在我看來,OP只是忘記了他們的類聲明的右括號。 – ivarni
@ivarni不一定非常重要,但他理解生命週期,構造函數和類擴展。所以他會知道他在做什麼。所以我增加了一些外部鏈接 –
夠公平的,我只是想說*「你需要」*並不嚴格正確。我寧願說一些*「你可以添加這些方法來觀察生命週期」*。否則,很好的答案:) – ivarni