Установить для изображений состояние Flickr API Response - PullRequest
0 голосов
/ 04 октября 2018

Я работаю над клоном Flickr, где отправляется запрос GET axios, чтобы получить фотографии, когда пользователь вводит данные.Мой текущий путь возвращается неопределенным.Где находится ответный массив объектов, чтобы я знал, где установить состояние изображений?Спасибо!

Контейнер поиска

import React, { Component } from 'react';
import TextField from 'material-ui/TextField';
import axios from 'axios';
class Search extends Component {
  state = {
    searchText: '',
    images: []
  }

  onTextChange = (e) => {
    this.setState({searchText: e.target.value}, () => {
      axios.get('https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=ea72b9024308d54ba48382706bebb960&user_id=156981303%40N08&format=json&api_sig=f8866cedaa88ceccdfe1e1cf06dcaded')
      .then(response => {
        this.setState({images: response.???});
      })
      .catch(error => {
        console.log(error)
      });
    });
  }

  render() {
    console.log(this.state.images);
    return (
      <div>
        <TextField 
        name="searchText"
        value={this.state.searchText}
        onChange={this.onTextChange}
        floatingLabelText="Search for photos"
        fullWidth={true} 
        />
      </div>
    );
  }
}

export default Search;

1 Ответ

0 голосов
/ 04 октября 2018

попробуйте изменить свой метод onTextChange следующим образом:

onTextChange = e => {
this.setState({ searchText: e.target.value }, () => {
  axios
    .get(
      `https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=ea72b9024308d54ba48382706bebb960&tags=${this.state.searchText}&tag_mode=any&format=json&nojsoncallback=1`
    )
    .then(response => response.data)
    .then(response => this.setState({ images: response.photos.photo }))
    .catch(error => {
      console.log(error);
    });
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...