Im React Tableを使用して、APIからデータを取得し、それをテーブルに取り込みます。私はAPI呼び出しを行い、データを取得します。データを取得したら、電子メールIDを含むフィールドを抽出し、配列(emailList)を作成します。今度はPOST API呼び出しのbodyの一部としてemailListのデータを使いたいと思っています。したがって、以下のコードでは、POST呼び出しの下の受信者パラメータにemailListのデータが含まれているはずです。 emailListは、renderメソッド内で空の配列としてグローバルに宣言されます。私の現在の設定では、スコープの問題のために未定義のエラーが発生します。 POSTコールの下で値にアクセスできるようにするには?私は、いくつかのScoping StackOverflowの答えを試してみましたが、結果は得られませんでした。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": "",
},
},
})