[英]ES6, Javascript. Declare const, undefined in destructuring assignment
const Profile = () => (
<Data data={CURRENT_PLAYER_DATA}>
{({
data: {
currentPlayer: { playerProfile }
}
}) => <div>{playerProfile && playerProfile.name}</div>}
</Data>
);
通过上面的代码,我得到了: playerProfile of undefined!
const Profile = () => (
<Data data={CURRENT_PLAYER_DATA}>
{({ data: { currentPlayer: { playerProfile = {} } = {} } = {} }) => (
<div>{playerProfile && playerProfile.name}</div>
)}
</Data>
);
使用上面的代码,它可以工作,但是我不知道为什么。
而且我还需要避免类似的事情:
playerProfile && playerProfile.name
如何很好地理解这一流程?
您的currentPlayer
属性undefined
,这意味着您实际上在做
var playerProfile = data.currentPlayer.playerProfile;
它将中断,因为data.currentPlayer
不存在。 ( undefined
)
在第二个示例中,您将为currentPlayer
创建一个默认值,这意味着currentPlayer
如果undefined
将为{}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.