【发布时间】:2020-08-17 20:39:26
【问题描述】:
fetchApi.tsx
这是我使用 axios 获取 api 的地方
import BASE_API_URL from "../"
import axios from "axios"
const fetchClient = () => {
const defaultOptions = {
baseURL: BASE_API_URL,
headers: {
"Content-Type": "application/json",
},
};
let instance = axios.create(defaultOptions);
instance.interceptors.response.use(
function (response) {
return response;
},
function (error) {
return Promise.reject(error);
}
);
return instance;
};
数据.tsx
这个文件是我把它放在一起在主文件中调用的地方
import React from "react";
import ApiUrl from "../Common/api/ApiUrl"
import fetchClient from "../Common/api/fetchApi";
const data = () => {
fetchClient(ApiUrl.USER_CURRENT)
.then(response => {
console.log(response.data) --> this return what I wanted
return response
})
}
export default data;
主文件
useEffect(() => {
const result = data();
console.log("--- ",result) --> result is undefined
}, []);
当我在主文件中调用 useEffect 时,data() 返回 undefined 但它显示了我想要在 data.tsx 中的数据,有什么想法吗?
在主文件中,我想将数据设置为 useState([])
我能够通过使用正常的 fetch 来让它工作
fetch("some url")
.then(res => res.json)
.then(result => {
setSomeData(result.data)
}
我想做一些 url 配置,使主文件中的代码更简洁。
【问题讨论】:
标签: reactjs typescript axios