【发布时间】:2021-06-27 10:29:56
【问题描述】:
我需要一个 api 调用另一个服务器的反应组件的结果:假设现在我只需要将 true 或 false 显示为文本
我有以下组件:
// some_random_thing.coffee
{ div, h5 } = DOM
actions = require '../../actions'
class MfaQRCode extends React.Component
@propTypes: {}
constructor: ->
super arguments...
@validationTimeout = null
shouldComponentUpdate: -> true
render:->
div {},
@renderStatus()
renderStatus: ->
h5 {className: 'column-header'},
"BOOLEAN::"
@props.resource.boolean_record
这是其他东西的子组件; 然后填充我在 actions.coffee 文件中的这个 boolean_record
api = require('./api')
AddUserPopupActions = ReactUtils.actions.creators.popup
somethingExists: { asyncResult: true }
AddUserPopupActions.somethingExists.listen ->
@promise(api.somethingExists(arguments...))
在 api.coffee 中
api = ReactUtils.api
class Api
somethingExists: ->
api.get "/servers/users/something/exists"
这个 get 请求在我认为没问题的 rails 控制器中处理。我的问题是,如何填充变量,以便我可以使用从另一台服务器返回 true 或 false 的请求结果。
在名为 store.coffee 的文件中有一个方法,其中填充了 props 的资源组件我需要使用 api 请求的结果来填充它:尝试过:
onSomethingExists: (response) ->
@resource.boolean_record = response.responseJSON.result
@_update()
但是在调试时似乎根本没有触发此方法。我对反应很陌生,并不完全了解它是如何工作的,而且考虑到咖啡脚本和导轨混合在一起的事实,几乎没有关于如何做到这一点的信息。
【问题讨论】:
标签: ruby-on-rails reactjs ruby ruby-on-rails-3 coffeescript