用异步映射反应 setState 挂钩

react setState hook with async map

我正在尝试将 setState 挂钩与数组上的映射一起使用,其中最终对象的一个​​属性是异步函数

setState(
 _exports.map(async (exportData) => {
  const ruleStatus = await getMonitorData(exportData)
  return {
   ...exportData,
   ruleStatus
  }
 })
)

const getMonitorData = async (_export) =< {
 return post('/app/monitor', _export)
}

但我得到的只是一系列未决承诺,页面呈现时没有实际内容(一切都未定义) 我想等待 post 完成并使用实际响应而不是我得到的未决承诺

怎么样

const promises = _exports.map(async (exportData) => {
    const ruleStatus = await getMonitorData(exportData)
    return {
        ...exportData,
        ruleStatus
    }
})
Promise.all(promises).then(setState)