Как получить изображения в JSON API в реагировать? - PullRequest
0 голосов
/ 27 января 2019

Так что моя проблема вполне понятна. Я пытаюсь получить данные из этого API https://www.hatchways.io/api/assessment/students. Теперь все работает нормально, но я не могу понять, как получить изображение в этом API.Когда я пытаюсь получить изображение, я получаю ссылку, а не само изображение.Я думаю, что мне нужно как-то использовать тег src внутри цикла, но я не уверен, как это реализовать.Я опубликую свой код ниже и, как всегда, я ценю вашу помощь, так как мне нравится больше узнавать о реакции.

import React, {Component} from 'react';

class App extends Component{
    constructor(props){
        super(props);
        this.state = {
            items:[],
            isLoaded: false
        };
    }

    componentDidMount(){
      fetch('https://www.hatchways.io/api/assessment/students')
          .then(res=> res.json())
          .then(({ students }) => {
              this.setState({
                  isLoaded: true,
                  items: students,
              })
          });
  }

    render(){
        const {isLoaded, items} = this.state;
        if(!isLoaded){
            return <div>loading data...</div>;
        }

        else{           

            return(
                <div className="Data">
                    <div>
                        {items.map(item=>(
                            <p key={item.id}>
                                 name:{item.firstName +' '+ item.lastName +' '} |
                                 City:{item.city} |
                                 company:{item.company} |
                                 email:{item.email} |
                                 id:{item.id}|
                                 picture:{item.pic}

                            </p>

                        ))};
                    </div>



                </div>

            );
        }

    }

}

export default App;

Ответы [ 2 ]

0 голосов
/ 27 января 2019

Когда я пытаюсь получить изображение, я получаю ссылку, а не само изображение.

<p key={item.id}>
     name:{item.firstName +' '+ item.lastName +' '} |
     City:{item.city} |
     company:{item.company} |
     email:{item.email} |
     id:{item.id}|
     picture:{item.pic} <<<<<<< You just print it as text.
</p>

Чтобы отобразить изображения из URL, используйте тег img.

<img src={item.pic}/>
0 голосов
/ 27 января 2019
import React, {Component} from 'react';

class App extends Component{
    constructor(props){
        super(props);
        this.state = {
            items:[],
            isLoaded: false
        };
    }

    componentDidMount(){
      fetch('https://www.hatchways.io/api/assessment/students')
          .then(res=> res.json())
          .then(({ students }) => {
              this.setState({
                  isLoaded: true,
                  items: students,
              })
          });
  }

    render(){
        const {isLoaded, items} = this.state;
        if(!isLoaded){
            return <div>loading data...</div>;
        }

        else{           

            return(
                <div className="Data">
                    <div>
                        {items.map(item=>(
                            <p key={item.id}>
                                 name:{item.firstName +' '+ item.lastName +' '} |
                                 City:{item.city} |
                                 company:{item.company} |
                                 email:{item.email} |
                                 id:{item.id}|
                                 <img src={item.pic}/>

                            </p>

                        ))};
                    </div>



                </div>

            );
        }

    }

}

export default App;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...