-
手動でFormDataを作成する方法:
import React, { useState } from 'react'; const MyComponent = () => { const [formData, setFormData] = useState(new FormData()); const handleChange = (event) => { const { name, value } = event.target; formData.set(name, value); setFormData(formData); }; const handleSubmit = (event) => { event.preventDefault(); // FormDataオブジェクトを使用してデータを送信する処理 }; return ( <form onSubmit={handleSubmit}> <input type="text" name="name" onChange={handleChange} /> <input type="email" name="email" onChange={handleChange} /> <button type="submit">Submit</button> </form> ); }; export default MyComponent;
-
ライブラリを使用する方法: Reactでは、フォームデータの処理を簡単にするためのライブラリも利用できます。例えば、
form-data-to-object
というライブラリを使用する方法を以下に示します。
まず、form-data-to-object
をインストールします:
npm install form-data-to-object
次に、以下のようにコードを記述します:
import React, { useState } from 'react';
import formDataToObject from 'form-data-to-object';
const MyComponent = () => {
const [formData, setFormData] = useState({ name: '', email: '' });
const handleChange = (event) => {
const { name, value } = event.target;
setFormData({ ...formData, [name]: value });
};
const handleSubmit = (event) => {
event.preventDefault();
const convertedFormData = formDataToObject(formData);
// 変換されたFormDataオブジェクトを使用してデータを送信する処理
};
return (
<form onSubmit={handleSubmit}>
<input type="text" name="name" onChange={handleChange} />
<input type="email" name="email" onChange={handleChange} />
<button type="submit">Submit</button>
</form>
);
};
export default MyComponent;
これらはReactでステートをFormDataに変換するための一般的な方法です。必要に応じて、他のライブラリや手法を使用することもできます。