Reactを勉強している者です。どうか助言いただけると助かります。
公式チュートリアルをみていて疑問があったので投稿します。
>次のコードではシンプルなポーリングをしていますが、WebSockets や他の方法でも簡単に実現できます。
とありますが、別の方法をしりたいです。
要件としてはアプリ等、外部(アプリ等)からRestAPIでJson形式でPOSTされたときに自動で画面を更新したいです。
そのPOSTは具体的にはユーザDBに登録です。
チュートリアルのように2秒ごとにajaxで取得するのもよいかもしれませんが、
ユーザ登録でDBが更新されたことをイベントとして画面更新したいです。
サーバサイドはRailsでapiに徹しています。
質問がざっくりですみませんが、サンプルコードがあればお願いしたいです。
次のコードではシンプルなポーリングをしていますが、WebSockets や他の方法でも簡単に実現できます。
var CommentBox = React.createClass({
loadCommentsFromServer: function() {
$.ajax({
url: this.props.url,
dataType: 'json',
cache: false,
success: function(data) {
this.setState({data: data});
}.bind(this),
error: function(xhr, status, err) {
console.error(this.props.url, status, err.toString());
}.bind(this)
});
},
getInitialState: function() {
return {data: []};
},
componentDidMount: function() {
this.loadCommentsFromServer();
setInterval(this.loadCommentsFromServer, this.props.pollInterval);
},
render: function() {
return (
<div className="commentBox">
<h1>Comments</h1>
<CommentList data={this.state.data} />
<CommentForm />
</div>
);
}
});
ReactDOM.render(
<CommentBox url="comments.json" pollInterval={2000} />,
document.getElementById('content')
);
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。