我正在使用es6對象解構來爲函數提供默認參數。嵌套參數的ES6對象解構默認值
function mapStateToProps({ shops: { cakeShop: {}, pieShop: {} }) {
return {
CakeShopName: shops.cakeShop.Name,
PieShopName: shops.pieShop.Name
}
}
上述的問題是,如果我叫
mapStateToProps({})
代碼拋出Cannot read property 'Name' of undefined
。 shops
上的嵌套對象未設置爲其默認值,並且代碼具有空引用。
如何確保將shops
中的嵌套對象設置爲正確的默認值,即使定義了shops
本身?
我不認爲你可以通過解構來做到這一點,它只有在你確定的情況下才有效...... – n00dl3
聽起來像你混淆瞭解構與默認值。你的語法破壞了一個參數對象,但實際上並沒有引入任何參數標識符。 – Bergi