第一个`在控制台中,我有
有什么建议吗?我只是想Map包含在json中的用户,我已经尝试过.map(),但它throughs.map()不是函数
.map()
8mmmxcuj1#
尽管在您的状态下将reuest初始化为空对象,但在获取数据之前,request.user是未定义的,因此它无法读取email属性。一些解决方法可以
reuest
request.user
email
<Card.Header>{request.user?.email}</Card.Header>
const [request, setRequests] = useState({ user: {} });
ig9co6j12#
它会显示错误,因为对象最初是空的,而您尝试request.user.email在request = {}时存取www.example.com。您可以尝试可选链接-将www.example.com替换request.user.email为request?.user?.email另一个选项是使用undefined初始化请求,以便可以使用条件渲染。
const [request, setRequest] = useState();// do this when rendering{request && <Card key={request.id}> <Card.Header>{request.user.email}</Card.Header> <Card.Body> <Card.Title>{request.address}</Card.Title> <Card.Text> {request.description}<br/> {request.kind} </Card.Text> </Card.Body> </Card>}
const [request, setRequest] = useState();
// do this when rendering
{request &&
<Card key={request.id}>
<Card.Header>{request.user.email}</Card.Header>
<Card.Body>
<Card.Title>{request.address}</Card.Title>
<Card.Text>
{request.description}<br/>
{request.kind}
</Card.Text>
</Card.Body>
</Card>
}
2条答案
按热度按时间8mmmxcuj1#
尽管在您的状态下将
reuest
初始化为空对象,但在获取数据之前,request.user
是未定义的,因此它无法读取email
属性。一些解决方法可以
<Card.Header>{request.user?.email}</Card.Header>
const [request, setRequests] = useState({ user: {} });
ig9co6j12#
它会显示错误,因为对象最初是空的,而您尝试request.user.email在request = {}时存取www.example.com。
您可以尝试可选链接-将www.example.com替换request.user.email为request?.user?.email
另一个选项是使用undefined初始化请求,以便可以使用条件渲染。