首页 > 解决方案 > React map 获取请求数据但忽略空字段

问题描述

基本上我正在尝试通过 API 获取响应进行映射,收集我需要的数据并将其发送到设置状态,以便我可以将数据输入谷歌条形图。

API 是美国宇航局 NEO 的列表,我需要它们的名称、最小和最大尺寸以及它们环绕的行星。

我设法完成了前 3 个,但我不知道如何获得最后一部分,因为 20 个 NEO 中只有一半拥有它们在数据中运行的行星。

那么我如何在循环中放置一个条件,告诉它返回 null 或其他东西,而不是 undefined 看到的谷歌图表需要一个值。

 state = {
    data: [
             ['name', 'min estimated diameter', 'max estimated diameter', "fdsf"],
    ],
}

componentDidMount() {
axios.get('https://api.nasa.gov/neo/rest/v1/neo/browse?api_key=DEMO_KEY',)
.then((response) => { // destructure data from response object
    // {name, estimated_diameter} from data
    const planet = response.data.near_earth_objects.close_approach_data
    console.log(planet)
    console.log(response)
    const restructuredData = response.data.near_earth_objects.map(({name, estimated_diameter, close_approach_data }) => 
        [name, estimated_diameter.kilometers.estimated_diameter_min, estimated_diameter.kilometers.estimated_diameter_max, close_approach_data[0]])
    const joined = this.state.data.concat(restructuredData)
    this.setState({data: joined});
})

标签: javascriptarraysreactjsgetaxios

解决方案


推荐阅读