javascript - 无法让 React 应用程序渲染,出现错误:未终止的 JSX 内容
问题描述
我正在尝试使用 Axios 从 React 中的 API 获取数据。如何让 useEffect 正常工作?
我正在尝试使用从使用 Axios 的 React 中的 API 获取的数据来构建页面。我有一个名为 PersonList 的组件,它应该获取数据并将其发送到 PersonCard,然后发送到我的 App.js。我在渲染它时遇到了麻烦,并且遇到了一堆我一开始没有遇到的错误。这是我在 PersonList 中的代码,它似乎是导致错误的组件:
import React, { useEffect, useState } from 'react';
import axios from 'axios';
import PersonCard from '../components/PersonCard';
import { Container, Row } from 'reactstrap';
export default function PersonList ()
{
const [people, setPeople] = useState([]);
useEffect(() =>
{
axios
.get(`https://swapi.co/api/people/1/`)
.then(res =>
{
const personInfo = res.datas
setPeople(personInfo)
console.log('Star Wars Character Info:', personInfo)
})
.catch(err =>
{
console.log('The API data was not returned', err)
});
}, []);
return (
<Container>
<Row>
{people.map(person =>
{
<PersonCard
name={person.name}
height={person.height}
weight={person.mass}
hairColor={person.hair_color}
birthday={person.birth_year}
gender={person.gender}
home={person.homeworld}
species={person.species}
films={person.films}
vehicles={person.vehicles}
ships={person.starships}
/>
}
)}
</Row>
</Container>
)
}
我应该能够在浏览器窗口中控制台记录从 API 返回的数据,但我不仅看不到数据,而且返回的数据未定义,而且我遇到了各种错误,包括这个错误 -
./src/components/PersonList.js
Line 50:5: Parsing error: Unexpected token, expected ","
48 | </Row>
49 | </Container>
> 50 | };
| ^
51 | }
解决方案
您应该删除 return 内的 return,删除花括号people.map
(请参阅JS 箭头函数表达式)并关闭您打开的每个标签和大括号
return (
<Container>
<Row>
<Container>
<Row>
{people.map(person =>
<PersonCard
name={person.name}
height={person.height}
weight={person.mass}
hairColor={person.hair_color}
birthday={person.birth_year}
gender={person.gender}
home={person.homeworld}
species={person.species}
films={person.films}
vehicles={person.vehicles}
ships={person.starships}
/>
)}
</Row>
</Container>
</Row>
</Container>
)
推荐阅读
- django - 使用 pycodejs 解析带有 mixin 块和 crete django 模板的 pug 模板
- .net - 使用 RestSharp 向 SAP Business One 服务层发送批量 REST 请求
- azure - 在 azure 中使用 Application.ReadWrite.OwnedBy 权限注册的应用在同意页面上有额外的权限
- mysql - 如何将相同的数据添加到mysql中的多个用户?
- c# - 连接到虚拟目录 .NET Core
- java - 尝试将数据发送和修改到 java fx 中的另一个阶段时出现空指针异常
- typescript - 使用 yarn-workspace,指定包根文件夹以获得更好的导入路径
- windows-authentication - windows server 2016 身份组
- python - 为什么模型实例选择工作,而不是模型实例在哪里?
- python - 从多个 ID 列创建子 ID