首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有用react.rb显示数据

没有用react.rb显示数据
EN

Stack Overflow用户
提问于 2016-08-25 15:51:42
回答 2查看 56关注 0票数 0

我只是试着用ReactRB和反应记录。

所以,我认为,这笔交易是在提供部分。当我在React组件类中设置React组件类时,我看不到任何数据在我的桌子上。当然,在公用文件夹中建模用户,这在ReactRB中是这样的要求。

在控制台中,我看到了服务器正在获取任何数据,但返回的数据正确。

我错过了什么?谢谢你的帮助!

答案的关键是 在这个截图里

详细信息是,当json反应记录对其进行解码时,数据会从服务器返回,但是如果您试图解析一个简单的字符串,它会引发一个错误。Opal0.10不再引起标准错误,所以整个程序都挂断了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-25 22:08:53

只是想想这个..。在Opal https://github.com/opal/opal/issues/1545中有一个已知的问题,这会导致反应记录方面的问题.请确保您没有使用蛋白石0.10

票数 2
EN

Stack Overflow用户

发布于 2016-08-25 18:19:17

要记住的一件事是,反应记录延迟加载记录和属性。因此,除非在您的呈现中的某个位置,否则您将访问某个特定的记录/属性,该属性将不会显示在客户端上。

如果不发布更多的代码,很难说出更多的信息,但以下是一些帮助:

假设您的组件如下所示:

代码语言:javascript
复制
class Foo < React::Component::Base
  param :user, type: User
  def render
    "user.name = #{user.name}"
  end
end

在控制器或布局中的某个地方,您可以这样做:

代码语言:javascript
复制
render_component '::Foo', {user: User.first}

你可以尝试一些非常简单的东西,就像这样,只是为了熟悉事情的运作方式。

应该是这样的:您将呈现视图,第一个用户的占位符将被发送到组件,在呈现过程中,组件将查找该用户的name属性(它没有此属性),因此将排队从服务器获取该属性。呈现将完成,最终数据将从服务器下来,本地模型的数据将被更新,显示该数据的组件将被重命名。

在预录制过程中,所有上述情况都发生在服务器内部,当组件被呈现时,最终的html将与所有用于呈现组件的模型数据一起交付。因此,在第一次加载时,如果所有操作正常,您将不会看到来自服务器的任何获取。

因此,如果您尝试上面的小示例,然后进入您的javascript控制台,您可以这样说:

代码语言:javascript
复制
Opal.User.$first()

您将看到底层模型数据结构的返回(我正在从JS转换为上面的ruby .ruby方法都以$开头)

然后你可以这样做:

代码语言:javascript
复制
Opal.User.$first().$name() 

您甚至可以这样做(假设至少有两个用户模型):

代码语言:javascript
复制
Opal.User.$find(2).$name()

您应该返回类似于"DummyValue“的内容,但是控制台中将有一个服务器获取周期,然后如果您重复上面的命令,您将得到实际值!

如果您需要通过https://gitter.im/reactrb/chat获得更多帮助,这可能不是获取更多详细信息的最佳论坛。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39149714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档