シンプルなフォームから取得したデータに基づいてデータベースにアイテムを作成したい。ユーザーがクリックした後、基本的にsubmit
この機能は、RANです:Reactjs POST後の要素のIDを取得する
createItem(item){
this.state.bucket_list.push({
name: item,
isCompleted: false
});
this.setState({bucket_list: this.state.bucket_list});
// POST to DB
fetch(url(this.props.api), {
method:"POST",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: item,
isCompleted:false
})
});
}
オブジェクトが正常に作成され、私は再レンダリングする原因になります状態を変更しています。ただし、オブジェクトのプロパティはname
とisCompleted
に設定されています。 id
もあり、データベースプロバイダが挿入した後に自動的に生成されます。このid
は私のdeletes and updates
コールで必要なので重要です。だから、私はこれのようなものが必要です。また
createItem(item){
// POST to DB first and get ID of newly created object
fetch(url(this.props.api), {
method:"POST",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: item,
isCompleted:false
})
}).then(function(data){
id = data.id; // get ID
this.state.bucket_list.push({
id: id,
name: item,
isCompleted: false
});
this.setState({bucket_list: this.state.bucket_list});
});
}
のNode.js(急行フレームワーク)で書かれた私のAPIコード:
.post(function (req, res) {
let item = new BucketList();
item.name = req.body.name;
item.isCompleted = req.body.isCompleted ? req.body.isCompleted : false;
item.save(function (err) {
if (err) {
return res.send(err);
}
res.json({message:"Item Sucessfully Added", item});
});
})
あなたは質問をしたようではありません....しかし、おそらく私はあなたが何を言っているのか知っています。 – billjamesdev
オブジェクトを取得して適切な 'id'を取得する必要がありますので、 'bucketlist'しかし、私はこれをどうやってできるのか分かりません。 – anderish
よ、私はそれを見ることができます、私の答えを見てください – billjamesdev