Im utilisant React Table pour récupérer des données à partir d'une API et le remplir dans la table. Je fais un appel d'API et j'obtiens les données. Une fois que j'ai les données, j'extrais un champ qui contient les identifiants d'email et puis fais un tableau (emailList). Maintenant, je veux utiliser les données dans emailList comme la partie du corps dans l'appel API POST après. Ainsi, dans le code ci-dessous, le paramètre destinataires sous l'appel POST doit contenir les données de emailList. La liste emailList est déclarée globalement comme tableau vide dans la méthode render. Avec ma configuration actuelle, j'obtiens une erreur non définie en raison de problèmes de portée. Comment rendre la valeur accessible sous l'appel POST? J'ai traversé quelques réponses de StackOverflow de portée et ai essayé mais n'ai pas obtenu le résultat.Comment rendre un tableau accessible sous différentes fonctions en Javascript?
columns: [
{
filterable: false,
Header: 'Action',
accessor: 'action',
Cell: (e) => (
<button
onClick={() => {
axios.get(URL, {
headers: {
'content-type': 'application/json',
'Name' : user.Name,
},
responseType: 'json',
})
.then((response) => {
let responseData = response.data.data;
function getEmailList(input, email) {
var output = [];
for (var i=0;i<input.length; ++i)
output.push(input[i][email]);
return output;
}
emailList = getEmailList(responseData, "email");
function fetchEmail() {
this.emailList = getEmailList(responseData, "email");
}
});
//console.log(new fetchEmail().emailList);
//Unable to get the value of emailList here
axios({
method: 'post',
url: URL2,
headers: {
'content-type': 'application/json',
'Name' : user.Name,
},
data: {
"topic": "product",
"message": {
"sender": "[email protected]",
//For illustration I have hardcoded the email arrays for recipients
"recipients": ["[email protected]", "[email protected]"],
"data": {
"text": "refresh"
},
"attachment": null,
"type": "",
},
},
})