だから、リアクションはフロントエンドフレームワークなので、db.collection.insert()
のようなバックエンドのものにアクセスすることはできません。第3世代では、フロントエンドコードとバックエンドコードの分離があります。彼らはHTTPリクエスト(GET、POST、PUT、DELETE)を介してお互いに話をします。
ちょうど明確にするためにサイドノート。あなたはまだルーティングと反応ルータのための明示が必要です。彼らは "ルーティング"の異なるタイプを行います。 Expressは、主にAPIのルーティング、フロントエンドが行うすべてのデータ呼び出しを処理します。 React-routerは、あなたのフロントエンドのページ変更を、Bowser内で処理します。これにより、ユーザーが移動するたびにページがリロードされなくなります。
だから少しのコードに入ることができます。
バックエンドでは、あなたのアプリが話すためにエクスプレスエンドポイントが必要です。この例では、node.jsバックエンドで一般的に使用されているツールであるため、mongooseパッケージでの使用方法を示します。
https://www.npmjs.com/package/mongoose
var mongoose = require('mongoose');
var Message = require('../models/message');
app.post('/message', (req, res) => {
var newMessage = new Message(req.body);
newMessage.save((err, doc) => {
if (err) {
res.send(err);
} else {
res.send(doc);
}
});
});
このコードは、URL "/メッセージ" でPOSTリクエストを処理します。リクエスト(req)本文のデータから新しいメッセージを作成します。それをデータベースに保存します。保存が成功すると、保存されたばかりの文書が返送されます。マングースで
我々はそのようなのような私たちのデータモデルのそれぞれのスキーマを作成:フロントエンドに今
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var MessageSchema = new Schema({
content: {
type: String,
},
createdAt: {
type: Date,
default: Date.now
}
});
var Message = mongoose.model('Message', MessageSchema);
module.exports = Message;
を/私たちは保存するためにバックエンドに私たちのメッセージデータを送信するために必要なものの方が反応します。 Axiosのようなパッケージを使用して、ブラウザーからきれいなHTTPベースのリクエストを作成できます。
https://www.npmjs.com/package/axios
var NewMessageInput = React.createClass({
postMessage: function(value) {
axios.post('/message', {
content: value
})
.then(function (message) {
console.log(message);
})
},
render: function() {
return (
<div>
<input onSubmit={() => this.postMessage(value)}>Type your message here</input>
</div>
);
}
});
そして、それはそれを行う必要があります!
バックエンドの例では、このレポをチェックアウトするためにセットアップしました。それは非常に基本的ですが、参考のためにマングースを使ったバックエンドの良い例になります。
https://github.com/Alexg2195/simple-dev-example
はまた、ここで私は教育用に作成されたいくつかの側面のコンテンツのビットは、それは良いの参照かもしれリアクトです。
https://github.com/Alexg2195/UT-ReactJS
このhttps://www.npmjs.com/package/mongodbをチェックし、それがサーバー側であることに注意してください。 – elmeister