топор ios получить запрос в reactJS - PullRequest
0 голосов
/ 06 апреля 2020

Я новичок в реакции, и я учусь, как получить запрос HTTP, используя топор ios. Я имею в виду видео на YouTube: https://www.youtube.com/watch?v=NEYrSUM4Umw и далее, но я получил ошибку. Я думаю, что у меня есть небольшая ошибка, но я не могу понять это.

import React, { Component } from 'react'
import axios from 'axios'

class PostList extends Component {
    constructor(props) {
        super(props)

        this.state = {
             posts: []
        }
    }


    componentDidMount(){

        axios.get('https://api.particle.io/v1/devices/64646468431646/temperature?access_token=547376a1b2')

        .then(response => {
            console.log(response)
            this.setState({posts: response.data})
        })
        .catch(error => {
            console.log(error)
        }
        )
    }

    render() {
        const { posts } = this.state
        return (
            <div>
                temperature
                {
                    posts.length ?
                    posts.map(post => <div key={post.coreInfo.deviceID}> {post.result} </div>) :
                    null
                }
            </div>
        )
    }
}
export default PostList

Когда я использую почтальон для получения HTTP-запроса, я получаю следующий ответ:

{"cmd": "VarReturn", "name": "Temperature" , "result": "67.55", "coreInfo": {"last_app": "", "last_heard": "2020-04-05", "connected": true, "last_handshake_at": "2020-04-05" , "deviceID": "64646468431646", "product_id": 8}}

Моя цель - показать результат: 67,55 в веб-приложении.

Заранее спасибо

1 Ответ

1 голос
/ 06 апреля 2020

Если вы получаете только один объект в качестве ответа от выборки вместо массива, просто оберните его в массив -

this.setState({posts: [response.data]})
...