【发布时间】:2021-01-11 13:26:51
【问题描述】:
这里是示例反应功能组件
const GreetingPage = (props) => {
console.log("console log", props)
return (
<div>
<h1>Hello </h1>;
</div>
)
}
const mapStatetoProps = (state) => ({
user: getUser(state)
});
export default connect(mapStatetoProps)(GreetingsPage)
当我执行console.log(props) 时,它会显示以下内容
如果你看到那里有一个用户对象。
我使用以下方法从道具中检索该用户
const { user } = props
console.log("second log", user)
我会看到用户数据
props.user: {
"uuid": "7dd2sdfs2-c48f-40bb-98d2-251215911d4b",
"created_at": "2019-11-08T10:03:36.838000Z",
"username": "joe012",
"email": "email@gmail.com",
"name": "Joe",
"phone_number": null,
"do_refresh": false,
"plan": null,
}
最后,当我想获取用户名console.log(user.name)时
它说
TypeError: Cannot read property 'username' of null
出了什么问题?
【问题讨论】:
-
你能附上
getUser的代码吗? -
尝试这样记录:
console.log('props.user:',JSON.stringify(props.user,undefined,2)) -
@HMR 按照你说的方式更新了输出。
-
@whatf 您的问题中缺少某些内容,您无法记录
props并让props.user成为对象,但在下一行尝试记录props.user.name时,props.user为空,除非你改变状态,但 JSON.stringify 将记录为空。你能举出一个最小的例子来演示这种行为吗?
标签: javascript reactjs redux react-functional-component