AXIN7 – Gửi dữ liệu với PUT request
2 mins read

AXIN7 – Gửi dữ liệu với PUT request

Bước 1: Tạo Axios Instance

Đầu tiên, chúng ta tạo một file axiosInstance.js để tạo một instance của Axios.

import axios from 'axios';

// Tạo instance của Axios với base URL
const axiosInstance = axios.create({
  baseURL: 'https://api.example.com',
});

export default axiosInstance;

Bước 2: Sử dụng Axios Instance trong một React Component

Sau khi tạo instance của Axios, chúng ta sử dụng nó trong một component React để gửi dữ liệu qua PUT request và xử lý phản hồi.

import React, { useState } from 'react';
import axios from './axiosInstance';

const UpdateDataComponent = () => {
  const [formData, setFormData] = useState({ name: '', email: '' });
  const [response, setResponse] = useState(null);
  const [error, setError] = useState(null);

  const handleUpdate = async (event) => {
    event.preventDefault();
    try {
      const result = await axios.put('/update', formData);
      setResponse(result.data);
    } catch (error) {
      setError(error);
    }
  };

  return (
    <div>
      <form onSubmit={handleUpdate}>
        <input
          type="text"
          value={formData.name}
          onChange={(e) => setFormData({ ...formData, name: e.target.value })}
          placeholder="Name"
        />
        <input
          type="email"
          value={formData.email}
          onChange={(e) => setFormData({ ...formData, email: e.target.value })}
          placeholder="Email"
        />
        <button type="submit">Update</button>
      </form>
      {response && <div>Response: {JSON.stringify(response)}</div>}
      {error && <div>Error: {error.message}</div>}
    </div>
  );
};

export default UpdateDataComponent;

Giải thích cấu trúc mã:

  1. Tạo Axios Instance:
    • axios.create({ baseURL: 'https://api.example.com' }): Tạo một instance của Axios với URL cơ bản.
  2. Sử dụng Axios Instance trong Component:
    • useState: Dùng để quản lý state cho formData, response, và error.
    • handleUpdate: Hàm xử lý khi form được submit. Nó gửi dữ liệu form bằng axios.put và lưu phản hồi vào state response.
    • event.preventDefault(): Ngăn chặn hành động mặc định của form khi submit.
    • return <form>...</form>: Hiển thị form nhập liệu.
    • setFormData: Cập nhật state formData khi người dùng nhập dữ liệu.
    • return <div>Response: {JSON.stringify(response)}</div>: Hiển thị phản hồi từ server.
    • return <div>Error: {error.message}</div>: Hiển thị lỗi nếu có.

Nguồn tham khảo:

Leave a Reply

Your email address will not be published. Required fields are marked *