- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不确定是什么问题。我知道 axios 无法从 api 获得响应,但我不明白为什么。
我的 nodejs 后端服务器文件:
import data from './data';
const app = express();
app.get("/api/products", (req, res) => {
res.send(data.products);
})
app.listen(5000, () => {console.log("Server started at http://localhost:5000")})
我可以在 localhost:5000 上看到数据,但当我尝试在前端呈现数据时却看不到。我收到一条错误消息“无法获取 api/产品”
前端api调用:
const [products, setProducts] = useState([]);
useEffect(() => {
const fetchData = async () => {
const { data } = await axios.get("/api/products");
setProducts(data);
}
fetchData();
return () => {
//
};
}, [])
前端的package.json:
{
"name": "frontend",
"proxy": "http://127.0.0.1:5000",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.5.0",
"@testing-library/user-event": "^7.2.1",
"axios": "^0.19.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-router-dom": "^5.2.0",
"react-scripts": "^2.1.8"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
最佳答案
fetchData 返回 Promise。您需要使用 await
或 then
来解决它。并且您需要从 useEffect Hook 中提取您的方法:
const fetchData = async () => {
const { data } = await axios.get("/api/products");
return data;
}
useEffect(() => {
fetchData().then(data => setProducts(data));
}, []);
关于node.js - 从 fetchData 返回的 Promise 被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62857709/
在VS 2022中创建并启动Blazor WebAssembly(7.0)的模板项目,让Blazor应用程序在浏览器中启动,然后通过关闭终端关闭Blazor主机服务器后,我导航到FetchData,发
我正在使用 Apache Nutch 以编程方式在 EMR 集群中以 6 个周期抓取大约 7000 个 URL(抓取过程中很少有自定义 map-reduce 作业)。版本是:nutch=v1.15 h
我正在使用 R 3.2.2 并安装了 mosaic 包。然后,我使用了 fetchData 函数,如下所示: data<-fetchData(1,c("Web_scraping","Data_mini
我有一个 ListGrid,其过滤器编辑器设置为可见。通常,如果我在过滤器编辑器中键入数据,它会导致从服务器获取数据并调用我的 executeFetch(..) 方法。 但在某些情况下,编辑过滤器数据
Visual Studio 中的 Blazor 应用使用 Http.GetFromJsonAsync 调用从 wwwroot 中的 json 文件获取天气预报数据。 当我更改文件中的数据时,我仍然在表
我不确定是什么问题。我知道 axios 无法从 api 获得响应,但我不明白为什么。 我的 nodejs 后端服务器文件: import data from './data'; const app =
使用 NodeJS、Express 和 MongoDB 构建 API,使用 JWT 和 Cookies 进行用户身份验证。使用商店(vuex)通过 axios 服务从 API 获取用户数据。在存储文件
大家好,我正在尝试将流与自定义 useFetch Hook 结合使用。这是代码: import React, { useState, useEffect } from 'react' function
我想这个问题更多的是关于理解上下文以及如何正确使用它。在用谷歌搜索和“stackoverflowed”很多次后,我找不到答案。 问题: 使用 DateUtils.formatDateTime 时,我不
在我当前的 iOS 项目中,我需要使用 POST 方法从 api 调用中获取数据,并使用登录凭据(用户名和密码)作为 react native javaScript 文件中的身份验证 header 。
我是一名优秀的程序员,十分优秀!