Как использовать метод post в React Native?

     constructor(props) {
        super(props);
        this.state = {text: this.props.navigation.state.params.text,
    name:this.props.navigation.state.params.name};
      }

    manage = () => {

    Alert.alert('done')
      Actions.reset('mainScreen');

    fetch("http://ip/api/confirm", {
      method: "POST",
      headers: {
        Accept: "application/json",
        "Content-Type": "application/json"
      },
      body: JSON.stringify({

        name: this.props.navigation.state.params.name,
        text:this.props.navigation.state.params.text
      })
    })
    .then(response => response.json())

      .catch(error => {
        console.error(error);
      });

    }

я хочу сделать это

когда я нажимаю кнопку, перехожу к управлению функцией и опубликуйте текст и имя в моем api, я не знаю, как их передать

its give me this error : network request failed

любая помощь, пожалуйста

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
2 742
2

Ответы 2

Я рекомендую вам использовать аксиомы для выполнения сетевых запросов.

Установка:

npm i -S axios

Выполнение запроса POST:

import axios from 'axios';

axios({
    url: 'http://ip/api/confirm',
    method: 'post',
    data: {
      name: this.props.navigation.state.params.name,
      text: this.props.navigation.state.params.text,
    },
    headers: {
      Accept: 'application/json',
      'Content-Type': 'application/json',
    }
  })
  .then(function (response) {
    console.info(response);
  })
  .catch(function (error) {
    console.info(error);
  });

@dodoyousef попробуйте https://jsonplaceholder.typicode.com/posts для проверки работоспособности кода

Soroush Chehresa 02.09.2018 12:14
 var resp = await manage(this.props.session.userId,this.props.session.ApiKey,"hi","hello");
      if (resp.status == 200){
         var respBody = await resp.json();
        console.info('Fetch Todo response '+respBody); 
      }

API в отдельном файле

export async function manage(userId,ApiKey,query,query1) {

  var url  = "http://www.example.com/getdata";

  const params = {
    search:query,
    searches:query1
  };


  var formBody = [];
for (const property in params) {
const encodedKey = encodeURIComponent(property);
const encodedValue = encodeURIComponent(params[property]);
  formBody.push(encodedKey + " = " + encodedValue);
}

formBody = formBody.join("&");


const requestOptions = {
'method': 'POST',
'headers': {
   'Content-Type': 'application/x-www-form-urlencoded'
  // 'Content-Type': 'application/json'
},
'body': formBody

};

  requestOptions.headers["userid"] = userId
  requestOptions.headers["apikey"] = ApiKey

  try {
    var resp = await fetch(url, requestOptions);
    return resp;
  }
  catch (err) {
    console.info("Request Failed: " + err);
    return err;
  }
}

Другие вопросы по теме