Reactjs 在迭代过程中插入列表数据(映射)
在这里,我试图在迭代过程中修改我的数据,并将一些结果发送给API调用 API调用接收具有结构化数据格式的请求,该格式为Reactjs 在迭代过程中插入列表数据(映射),reactjs,typescript,Reactjs,Typescript,在这里,我试图在迭代过程中修改我的数据,并将一些结果发送给API调用 API调用接收具有结构化数据格式的请求,该格式为 { list: [{ id: "1", name: "Hello" }, ... ] } 不知何故,我设法用单个数据调用了API(在我当前的代码中,const params只接受单个数据) 但现在必须使用多个数据来完成,例如: { list: [{ id: "1", name: "Hello"
{ list: [{ id: "1", name: "Hello" }, ... ] }
不知何故,我设法用单个数据调用了API(在我当前的代码中,const params只接受单个数据)
但现在必须使用多个数据来完成,例如:
{ list: [{ id: "1", name: "Hello" }, { id: "22", name: "Ed" }, { id: "36", name: "Jason" } ... ] }
这是我目前的代码
const [table, setTalbe] = useState(..); // assume, we have some table data here
const processNow = () => {
let id = 0;
let name = '';
// if table length is greater than 1, we go for the loop.
if (table.length >= 1) {
table.map(data => {
id = data.userId;
name = data.userName;
});
//insert table data to params, here I want to add whole table data into "list"
//the final result of this list should be something like this
//ex ) list: [{ id: '123', name: 'Josh' }, { id: '125', name: 'Sue' }, { id: '2222', name: 'Paker' } ...],
// but how??
const params: any = {
list: [
{
id: id,
name: name
},
],
};
//send PUT reqeust with params
axios
.put(
'/api/v1/tosent',
params,
)
.then(res => {
console.log('The response', res);
})
.catch(err => {
console.log('The error: ', err);
});
}
};
但是我被它卡住了,请帮我完成这个代码以正常工作。
需要您的建议。
Array.prototype.map
返回一个新数组,其中您传递的函数应用于每个元素。你应该研究这个词来了解它的用法
当前代码与映射返回值无关:
table.map(data => {
id = data.userId;
name = data.userName;
});
您可能假设.map
会对数据进行变异,就像在原地更改一样。相反,整个操作返回一个新数组
看起来您希望执行以下操作:
const list = table.map(data => {
return {
id: data.userId,
name: data.userName
}
});
这是对数组中的每个元素应用一个函数,该函数将每个元素映射到一个新对象,并使用id
和name
键匹配您的问题。然后,看起来您希望将map
(我们在上面将其命名为list
)的返回值传递给您的呼叫:
const params: any = {
list: list
};
Array.prototype.map
返回一个新数组,将传递的函数应用于每个元素。你应该研究这个词来了解它的用法
当前代码与映射返回值无关:
table.map(data => {
id = data.userId;
name = data.userName;
});
您可能假设.map
会对数据进行变异,就像在原地更改一样。相反,整个操作返回一个新数组
看起来您希望执行以下操作:
const list = table.map(data => {
return {
id: data.userId,
name: data.userName
}
});
这是对数组中的每个元素应用一个函数,该函数将每个元素映射到一个新对象,并使用id
和name
键匹配您的问题。然后,看起来您希望将map
(我们在上面将其命名为list
)的返回值传递给您的呼叫:
const params: any = {
list: list
};
谢谢你提供的详细信息。它解决了我的密码。谢谢你提供的超级详细信息。它解决了我的密码。