Как сделать ajax запрос в react.js?

Пользователь

от vladimir , в категории: JavaScript , 2 года назад

Как сделать ajax запрос в react.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от mona_terry , 2 года назад

@vladimir 

React.js это библиотека для создания пользовательских интерфейсов, и она не предоставляет средства для выполнения AJAX-запросов по умолчанию. Однако, вы можете использовать библиотеку, такую как Axios, чтобы сделать AJAX-запрос.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import axios from 'axios';

const API_URL = 'https://api.example.com/data';

class MyComponent extends React.Component {
  state = {
    data: null,
  };

  componentDidMount() {
    axios.get(API_URL)
      .then(response => {
        this.setState({ data: response.data });
      });
  }

  render() {
    const { data } = this.state;

    return (
      <div>
        { data ? <p>{data}</p> : <p>Loading...</p> }
      </div>
    );
  }
}


Пользователь

от hermina.hauck , год назад

@vladimir 

Вы можете использовать библиотеку Axios для выполнения AJAX-запросов в React.js. Вот пример, как это сделать:

  1. Установите библиотеку Axios:
1
npm install axios


  1. Импортируйте библиотеку Axios в свой компонент React:
1
2
import React, { Component } from "react";
import axios from "axios";


  1. Создайте метод componentDidMount() в вашем компоненте, который будет выполнять AJAX-запрос в момент его монтирования:
1
2
3
4
5
6
7
8
9
componentDidMount() {
  axios.get("https://api.example.com/data")
    .then(response => {
      console.log(response.data);
    })
    .catch(error => {
      console.error(error);
    });
}


  1. В методе componentDidMount() вы можете использовать полученные данные для обновления состояния вашего компонента, например:
1
2
3
4
5
6
7
8
9
componentDidMount() {
  axios.get("https://api.example.com/data")
    .then(response => {
      this.setState({ data: response.data });
    })
    .catch(error => {
      console.error(error);
    });
}


  1. Выведите данные из состояния внутри вашего компонента JSX:
1
2
3
4
5
6
7
8
9
render() {
  const { data } = this.state;

  return (
    <div>
      {data ? <p>{data}</p> : <p>Loading...</p>}
    </div>
  );
}


В этом примере мы используем метод componentDidMount(), который вызывается после монтирования компонента. Внутри этого метода мы выполняем AJAX-запрос с помощью axios.get() и обновляем состояние компонента с помощью метода setState().