2016-12-07 13 views
0

私は最初のプロジェクトに取り組んでおり、socket.ioが私のUIをノードに接続する唯一の、あるいは最善の解決策であるかどうかを知りたいと思っています。react.jsのUIをnode.js APIとmongoDBに接続する最も良い方法は何ですか?

私にお勧めできるものは他にありますか?リアルタイムは重要ではない、私は自分のデータにアクセスしたい。単純なキーワードはすでに私を助けてくれるでしょう。

ありがとうございました! GT

答えて

0

それは非常に簡単です:

は、例えば、特定の呼び出しで必ずあなたのNode.jsサーバリターン(JSON)データを作成します

//this is your API endpoint 
app.use('/api/endpoint', (req, res, next) => { 
    res.send({ 
     key: 'value' 
    }); 
}); 


//this sends your html file with react bundle included 
//has to be placed after the api handling 
app.use('*', (req, res, next) => { 
    res.sendFile(path.join(__dirname, 'public', 'index.html')); 
}); 

同じサーバーでhtmlを配信する必要はありませんが、通常は意味があります。

これで、Reactアプリ内でAPI呼び出しを行い、データを取得できます。私は斧(https://github.com/mzabriskie/axios)を使用するのが好きですが、あなたはあなたが望むように呼び出しを行うことができます。

reduxを使用している場合は、電話をかけて何らかの形で州または店舗に保存する必要があります。

例えば:

... 

componentDidMount() { 
    axios.get('http://yourserver.com/api/endpoint') 
     .then(function (response) { 
      this.setState({ 
       data: response.data 
      }); 
     }) 
     .catch(function (error) { 
      console.log(error); 
     }); 
} 

... 

DBに格納するためにあなたのノードのサーバーへのデータの送信はかなり似ています。

これはちょっとした基本的な例です。特に、CSRF保護やJWTなど、プロダクションに行くときに、APIのセキュリティを確保するために問題が発生することに注意してください。しかし、これはあなたを開始する必要があります!

関連する問題