import React from 'react';
import { FlatList, ActivityIndicator, Text, View  } from 'react-native';

export default class FetchExample extends React.Component {

  constructor(props){
    super(props);
    this.state ={ isLoading: true}
  }

  componentDidMount(){

        fetch('https://apitest.kuveytturk.com.tr/prep/v1/data/fecs', {
             method: 'GET',
             headers: {
               Accept: 'application/json',
               'Content-Type': 'application/json',
             },
             body: JSON.stringify({
               firstParam: 'isoCode ',
               secondParam: 'internationalCode',
               thirdParam: 'name',
               fourthParam: 'code',
               FifthParam: 'group',
               SixthParam: 'id'
             }),
           });

}


  render(){

    if(this.state.isLoading){
      return(
        <View style={{flex: 1, padding: 20}}>
          <ActivityIndicator/>
        </View>
      )
    }

    return(
      <View style={{flex: 1, paddingTop:20}}>
        <FlatList
          data={this.state.dataSource}
          renderItem={({item}) => <Text>{item.isoCode}, {item.internationalCode}, {item.name}, {item.code}, {item.group}</Text>}
          keyExtractor={({id}, index) => id}
        />
      </View>
    );
  }
}

Я новичок в системе react native, и я пытаюсь получить данные из api, но у меня есть ошибка кода.

возможное отклонение необработанного обещания (id 0) typeerror undefined не является объектом

Я не могу понять, почему нет объекта

Надеюсь на вашу помощь.

3
chc 22 Окт 2019 в 09:37
Вы можете поделиться всей полученной ошибкой?
 – 
Gaurav Roy
22 Окт 2019 в 09:39
Я не могу добавить фото об ошибке из-за репутации, но ошибка: Возможный отказ необработанного обещания (id 0) typeerror Тело не разрешено для запросов GET или HEAD
 – 
chc
22 Окт 2019 в 09:48
github.com/github/fetch/issues/402 проверьте это
 – 
Gaurav Roy
22 Окт 2019 в 09:48
1
Вы не можете добавить тело в свои запросы получения, вот в чем ошибка
 – 
Gaurav Roy
22 Окт 2019 в 09:49

2 ответа

Обратите внимание, что вы не можете использовать тело в запросе GET. Пожалуйста, измените его на POST.

1
Sohail 22 Окт 2019 в 09:50

Вы не можете использовать тело с запросом GET. Если вы хотите передать параметры с помощью запроса GET, официальный способ работы с параметрами запроса - просто добавить их в URL-адрес. Это пример: var url = новый URL ("https://apitest.kuveytturk.com.tr/prep/v1/data/fecs"), params = {firstParam: 'isoCode', secondParam: 'международный код', thirdParam: 'имя', 4thParam: 'код', FifthParam: 'группа', SixthParam: 'id'} Object.keys (params) .forEach (key => url.searchParams.append (key, params [key])) fetch (url) .then (/ *… * /)

1
Praful 22 Окт 2019 в 10:14