【发布时间】:2021-10-24 08:34:51
【问题描述】:
我正在尝试使用 Axios 和 React 挂钩调用 API。我想在满足某些条件时调用它。例如,如果 language 等于 'ru'、'en'、'fr' 调用第一个 API 调用,如果 language 等于 'zh'、'ko'、'ar'。下面是我的代码。
const reqTranslate = () => {
if(language === 'ru' || 'en' || 'de' || 'fr' || 'tr' || 'it' || 'es'){
axios.all([requestTranslate, requestDictionary])
.then(
axios.spread((...responses) => {
const responseOne = responses[0]?.data?.text[0];
const responseTwo = responses[1]?.data?.def[0]?.tr;
const responseThree = responses[1]?.data?.def[0]?.pos
const responseFour = responses[1]?.data?.def[0]?.ts
const responseFive = responses[1]?.data?.def[0]?.text
const responseSix = responses[1]?.data?.def?.[0]?.tr
// use/access the results
console.log(responseOne, responseTwo);
setTextresult(responseOne);
console.log(responseOne)
setSynTransLang(responseTwo);
setPos(responseThree);
setTs(responseFour);
setTxt(responseFive)
setMapValue(responseSix)
})
)
}
else if (language === 'ko' || 'zh'){
axios.all([requestTranslate, requestDictionary])
.then(axios.spread((...responses)=>{
const responseOne = responses[0]?.data?.text[0];
// use/access the results
console.log(responseOne);
setTextresult(responseOne);
})).catch(errors => {
// react on errors.
console.error(errors);
})
}}
【问题讨论】:
标签: reactjs api axios react-hooks