我有一个将user
与其auth
道具分解的组件:
const Profile = ({
auth: {user}
}) => {...}
问题是当我进行开发时,Nodemon会在我保存任何更改时不断刷新我的页面。当组件尝试挂载时,它将引发错误,无法将user
从auth
中解构,因为auth
在那时为空(直到我浏览站点并重新登录)
是否有一种优雅的方式来处理此问题?我看了this article,但无法做类似const { user } = auth || {}
的事情。好吧..我的意思是,我可以,但是我想从道具中解构,而不是在函数体中做const { user } = auth || {}
。
答案 0 :(得分:3)
当auth
为null
时,无法使用具有解构语法的默认参数来解析user
而不会抛出TypeError
。
只需解构为auth
并检查其是否正确:
const Profile = ({ auth }) => {
const user = auth && auth.user;
...
}