javascript - 无法在单击按钮时使用 API 呈现数据
问题描述
单击按钮时,无法呈现 API 数据。它会生成下面列出的两个错误。请告诉我如何解决这个问题。
错误详情:
./src/router/AppRouter.js 尝试导入错误:“反馈”未从“../components/Feedback”导出。
./src/components/Customerfeedbacks.js 语法错误:\src\components\Customerfeedbacks.js:缺少分号。(9:27) 编译失败。
反馈.js
import React from 'react';
class Feedback extends React.Component {
constructor(props) {
super(props);
this.state = {
employees: []
};
componentDidMount() {
Fetch("http://localhost:3002/posts").then(res => res.json()).then(
(result) => {
this.setState({
employees: result
});
}
);
};
}
render() {
return (
<div>
<h2>Employees Data...</h2>
<table>
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Location</th>
<th>Salary</th>
</tr>
</thead>
<tbody>
{this.state.employees.map(emp => (
<tr key={emp.Id}>
<td>{emp.Id}</td>
<td>{emp.Name}</td>
<td>{emp.Location}</td>
<td>{emp.Salary}</td>
</tr>
))}
</tbody>
</table>
</div>
);
}
}
const element=<EmployeeComponent></EmployeeComponent>
ReactDOM.render(element,document.getElementById("root"));
export default Feedback;
应用路由器.JS
import React from 'react';
import { BrowserRouter, Switch, Route, Redirect } from 'react-router-dom';
import Header from '../components/Header';
import AddEvent from '../components/AddEvent';
import EventsList from '../components/EventsList';
import useLocalStorage from '../hooks/useLocalStorage.js';
import EditEvent from '../components/EditEvent';
import EventsContext from '../context/EventsContext';
import { About } from '../components/About';
import { Home } from '../components/Home';
import { Feedback } from '../components/Feedback';
const AppRouter = () => {
const [books, setBooks] = useLocalStorage('books', []);
return (
<BrowserRouter>
<div>
<Header />
<div className="main-content">
<EventsContext.Provider value={{ books, setBooks }}>
<Switch>
<Route path="/about" component={About} exact />
<Route path="/" component={Home} exact />
<Route component={EventsList} path="/eventList" exact={true} />
<Route component={AddEvent} path="/add" />
<Route component={EditEvent} path="/edit/:id" />
<Route component={Feedback} path="/feedback"/>
<Route component={() => <Redirect to="/" />} />
</Switch>
</EventsContext.Provider>
</div>
</div>
</BrowserRouter>
);
};
export default AppRouter;
解决方案
您正在导入Feedback
默认导出的,因此它的导入将是
import Feedback from '../components/Feedback';
对于您的第二个错误,您在then
语句后添加了一个分号,因此只需复制粘贴即可。还要彻底阅读错误并尝试理解它们告诉你的内容
componentDidMount() {
fetch("http://localhost:3002/posts")
.then((res) => res.json())
.then((result) => {
this.setState({
employees: result,
});
});
}
推荐阅读
- c# - 获取 Azure DevOps 中两个版本之间的更改
- node.js - 我无法使用 express js 应用程序将 gcloud mysql 与应用程序引擎连接起来
- github - 自动拒绝更新某些文件的 PR
- java - Visual Studio Code Java:找不到 java.lang.Object 的类文件
- python - 如何在 Python Plotly/Dash Rangeslider 中显示不同位置的工具提示?
- solidity - Safemoon - 需要帮助设置一些参数
- c# - 如何计算数组json中的值
- powershell - 如何列出用户拥有的所有团队
- python-3.x - 如何使用python将数据写入excel并保持excel数字格式?
- android - MutableLiveData NullPointerException 警告