Я пытался выяснить, как получить доступ к значению обещания, возвращенному из запроса POST, но до сих пор решения, которые я видел здесь, я не могу понять, как реализовать в функциональном компоненте не использую .then
.
Я пробовал .stringify
и .text
, но без разницы. Все еще только консоль регистрирует обещание.
Button.jsx
import React, { useState } from 'react';
import axios from 'axios';
import getResponse from '../Handler/getResponse.jsx'
import getToken from '../Handler/getToken.jsx'
import './Button.css';
const Button = ({selectedIcon}) => {
const [selected] = selectedIcon;
const [xappToken] = useState(getToken());
console.log(xappToken);
return(
<div className="buttonBlock">
<span className="btn">
<input className="btn-outline" type="button" value="Press Me" onClick={ () => getResponse(xappToken) }/>
</span>
</div>
);
}
export default Button
getToken.jsx
export default async function getToken(){
try {
const response = await axios.post('https://api.artsy.net/api/tokens/xapp_token', {
client_id: 'some-client-id',
client_secret: 'some-client-secret'
});
console.log('? Returned data:', response.data.token);
return response.data.token;
} catch (e) {
console.log(`? Axios request failed: ${e}`);
return "Error";
}
}