APIにPOSTリクエストを送る際に、普段は{key1:value1,key2:value2}のようなstateを送っている時は上手くいくのですが、ネストされている形式(↓editData)だと失敗してしまいます。
//postデータ変換 箇所でBody:~の箇所を編集する必要があるとの認識ですが、なかなか上手くいきません.
Javascript・react初心者ですが、地道に調べながら作成しています。
ご回答お待ちしております。何卒よろしくお願いいたします。
jsx
1//データ送信 2 submitHandler = async () => { 3 let userID = await this.props.info.user_id; 4 let editData = await { 5 user: { 6 email: "sample@example.com" 7 }, 8 user_information: { 9 sei: "山田", 10 mei: "太郎" 11 } 12 }; 13 let getData = await postUserInfo(editData, userID); 14 }; 15 16 17//ユーザー個人情報編集 18export function postUserInfo(formData, userID) { 19 return post( 20 `https://sample.com/user/${userID}`, 21 formData 22 ); 23} 24 25//postデータ変換 26export function post(url, params = {}) { 27 let token = getToken(); 28 return extractData( 29 fetch(url, { 30 method: "POST", 31 mode: "cors", 32 headers: { 33 Authorization: `Bearer ${token}` 34 }, 35 body: Object.keys(params).reduce( 36 (o, key) => (o.append(key, params[key]), o), //eslint-disable-line no-sequences 37 new FormData() 38 ) 39 }) 40 ); 41}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/27 04:01
2018/09/27 05:16