【发布时间】:2022-01-18 10:19:07
【问题描述】:
当我在 react 中使用地图时,是否会收到意外的令牌错误?
import React, { useState, useEffect } from "react";
import axios from "axios";
export default function ApiHook() {
const [employees, setEmployees] = useState([]);
useEffect(() => {
axios
.get("http://dummy.restapiexample.com/api/v1/employees")
.then((response) => {
console.log(response);
setEmployees(response.data);
})
.catch((e) => console.log(e));
}, []);
return (
{employees.map((employee) => {
return <p>{employee.employee_name}</p>;
})}
);
}
【问题讨论】:
-
您应该在
React.Fragment或<> ... </>中添加map -
这是因为您使用了 JSX 表达式 (
{...}),而您不在 JSX 上下文中,而只是在普通 JavaScript 上下文中。只需从map调用周围删除{和}并直接返回数组。或者,或者,将数组包装在片段或类似内容中,但除非您有其他理由这样做,否则没有必要。 -
所以
return employees.map((employee) => { return <p>{employee.employee_name}</p>; });或return (<>{employees.map((employee) => { return <p>{employee.employee_name}</p>; })} </>);(旁注:map回调可以只是.map(employee => <p>{employee.employee_name}</p>)甚至.map(({employee_name}) => <p>{employee_name}</p>)) -
投票关闭为错字。
标签: javascript reactjs json