api 请求中不接受 REACT.js 变量
Posted
技术标签:
【中文标题】api 请求中不接受 REACT.js 变量【英文标题】:REACT.js variables not accepted in api request 【发布时间】:2021-02-25 21:49:28 【问题描述】:我正在尝试通过在我的请求和 console.log 中添加变量来提高我的代码效率和可重用性。但由于某种原因它不起作用,我不知道为什么!完整代码见:https://codesandbox.io/s/wispy-lake-6h051
这行得通:
state =
lastWeek: '2020-11-09',
today: '2020-11-12',
selectedBase: 'USD',
firstDateValues: null,
fifthDateValues: null
;
getAPI = async() =>
const START_DATE = this.state.lastWeek;
const END_DATE = this.state.today;
const BASE = this.state.selectedBase;
const response = await fixer.get(`?start_at=$START_DATE&end_at=$END_DATE&base=$BASE`,
);
console.log(BASE) ---> output: USD
console.log(response.data.rates[START_DATE].USD) --> correct data
但这不是:
state =
lastWeek: '2020-11-09',
today: '2020-11-12',
selectedBase: 'USD',
firstDateValues: null,
fifthDateValues: null
;
getAPI = async() =>
const START_DATE = this.state.lastWeek;
const END_DATE = this.state.today;
const BASE = this.state.selectedBase;
const response = await fixer.get(`?start_at=$START_DATE&end_at=$END_DATE&base=$BASE`,
);
console.log(BASE) ---> output: USD
console.log(response.data.rates[START_DATE].BASE) --> output: undefined
为什么?
【问题讨论】:
这能回答你的问题吗? Add a property to a javascript object using a variable as the name? 【参考方案1】:你需要做的就是改变
response.data.rates[START_DATE].BASE
到
esponse.data.rates[START_DATE][BASE]
因为如果您使用.BASE
,则表示BASE
密钥,而不是来自BASE
变量的密钥
【讨论】:
以上是关于api 请求中不接受 REACT.js 变量的主要内容,如果未能解决你的问题,请参考以下文章
React.js 和 Typescript 返回获取 API 响应的类型?
http-proxy-middleware 代理在 React js 和 Spring Boot 项目中不起作用。 GET API 返回 415 状态错误