gpt4 book ai didi

ruby-on-rails - React-Rails API 轮询

转载 作者:数据小太阳 更新时间:2023-10-29 09:00:53 25 4
gpt4 key购买 nike

我是React新手,我已经经历了the official React tutorials关于如何将 React 作为一个独立的服务使用并且刚刚经历了 this tutorial关于在 Rails 应用程序中使用 react-rails gem,在大多数情况下,我已经将其用于我所需要的。我遇到的问题是我需要为我的小 React 页面实现某种简单的 API 轮询,但我似乎无法在任何地方找到关于如何在 react-rails 中最好地实现它的文档。

在 React 教程中它告诉我们在声明数据源时使用 pollinterval = 2000 每 2000 毫秒轮询一次源。我尝试按如下方式实现它,但无济于事:

@Records = React.createClass
getInitialState: ->
$.ajax
method: 'GET'
url: '/records'
dataType: 'JSON'
success: (response) ->
records: response
pollinginterval: 2000
...

不幸的是,当我加载页面时,不仅实际上没有显示任何内容,而且它似乎根本没有查询数据库 - 即使是最初也是如此。这让我相信这不是 AJAX 调用/设置轮询间隔的正确位置,但在我的谷歌搜索中没有任何内容特别有用。

最佳答案

这种方法怎么样?

@Records = React.createClass
getInitialState: ->
# `this.state.records` is empty now, but will be loaded by AJAX
{
records: []
}

componentDidMount: ->
# Ping every 2s
@_recordsInterval = setInterval =>
@_loadRecords()
, 2000
# Load initial data:
@_loadRecords()

componentWillUnmount: ->
# clean up loose ends:
clearInterval(@_recordsInterval)
@_recordsRequest?.abort()

# ...

_loadRecords: ->
# Fetch records from the server and store it as `this.state.records`
@_recordsRequest = $.get "/records", (data) =>
@setState(records: data)

关于ruby-on-rails - React-Rails API 轮询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36051880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com