问题标签 [react.rb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
70 浏览

opalrb - opal react.rb 作为参数传入 proc 以用作回调

我似乎不记得将proc作为react.rb中组件的参数传递,有人可以提醒我吗?

对不起,如果我的问题措辞不好,我有点累了。

0 投票
1 回答
762 浏览

ruby - 在 react.rb 中为样式值自动添加 'px' 后缀

我注意到,当我尝试使用内联样式设置页面元素的 z-index 时,px 会自动添加到该值中,但 z-index 需要一个数字而不是像素值。

所以网络浏览器不会接受它作为一个有效值,因此 Z-index 有效地不起作用。

我正在做

0 投票
2 回答
173 浏览

react-bootstrap - 如何在 react.rb 中使用 React-Bootstrap

我在我的项目中使用 react.rb,我也想使用 bootstrap。我找到了 React-Bootstrap,但不知道如何在 react.rb 中使用它。

0 投票
2 回答
112 浏览

react.rb - 添加 gem 时的 Bundler::GemRequireError

当我创建一个新的 Rails 项目、添加gem 'reactive-record'和运行rails server时,我收到一个 Bundler 错误:There was an error while trying to load the gem 'reactive-record'. (Bundler::GemRequireError).

是什么赋予了?我有 Rails 4.2.5 和 Ruby 2.1.2。

干杯!

0 投票
1 回答
76 浏览

react.rb - 将反应记录与反应轨道集成时出错

我无法添加reactive-record到我的项目中。

宝石文件:

当我按原样运行应用程序时,它会很好地呈现 React 组件。当我取消注释时,我在控制器中gem 'reactive-record'得到一个: 。这是我的简单控制器:NoMethodErrorundefined method 'path' for nil:NilClass

home_controller.rb:

render_component是触发错误的行。

任何线索是什么问题?我觉得我遗漏了一些明显的东西,但我已经排除了两天的问题。

0 投票
1 回答
388 浏览

ruby-on-rails - 如何使用 React.rb 向布局添加组件?

我在我的布局中使用 content_for 和 partials,我想知道如何以与使用React.rb添加 partials 相同的方式添加我的 React 组件。

谢谢。

0 投票
1 回答
92 浏览

ruby-on-rails - 将设计模型移动到 React.rb 公共目录调用方法缺失

我正在尝试将 Devise 与 React.rb 一起使用,所以我想我会将我的用户模型移动到公共目录以便能够通过 React 对其进行编辑,但是我收到了这个错误:

0 投票
1 回答
54 浏览

ruby-on-rails - 如何告诉 Rails 不要预渲染组件?

使用 React.rb 时,如何防止 Rails 预渲染组件?

0 投票
1 回答
219 浏览

ruby-on-rails - 如何将基于 JavaScript 或 JSX 的组件导入 React.rb 以便在 ruby​​ 中访问?

使用为 React-Bootstrap 和 react.rb 给出的示例完美地工作,但我试图让一个名为 React-TimeAgo 的 NPN 组件工作,我迷路了。

这就是我所做的:

在 index.js 中(让 Webpack 将其导入到 webpack 包中):

在实际的 component.rb 我有这个:

然后引用 Bootstrap 组件可以完美地工作:

但我无法从 TimeAgo 包装器中得到任何东西:

我究竟做错了什么?所有帮助表示赞赏!

0 投票
1 回答
276 浏览

react-router - 使用 React 路由器和 React.rb

我正在尝试从 react.rb 中使用 React Router。我开始使用 reactor-router Gem,但 Gem 仅适用于 React Router < 1,而我使用的是 React Router 2.4.0,并且 API 完全不同。

在过去的几周里,我采取了一些方法来让它发挥作用,但没有一种方法是正确的,每种方法都有自己的错误。

请有人引导我朝着正确的方向前进,因为我别无选择。

在设置方面,我使用 Webpack 来要求 React 和 React Router,所以由 Webpack 注入的 application.js 看起来像这样:

方法 1 - 将路由器创建为原生 JS,并在渲染顶级组件时调用 ReactDOM.render 来渲染路由器

然后将路由器渲染到 after_mount 中的 div:

这种方法虽然不是很漂亮,但似乎在创建路由器并按预期运行时很有效。URL 或 /tribe/22 将加载正确的 TribeShow 组件并将正确的 ID 传递给组件。

这种方法的问题是在创建链接时,因为链接组件与路由器不共享相同的上下文。我相信这归结为 ReactDOM.render 被 react-rb 调用一次,然后在上面的代码中再次调用。这会在页面上创建两个根组件(TopLevelRailsComponent)和(ReactRouter)。

链接是这样创建的:

然后在这样的组件渲染方法中使用:

该链接已呈现,但单击它会给出以下警告并且不会导航到该组件:

查看链接组件的属性,我发现上下文为空,我相信这就是原因。似乎链接是在路由器的上下文之外绘制的。

方法 2 - 使用 react-rb API 渲染路由器,这样 ReactDOM.render 不会在页面上被调用两次

这似乎是一种更好的方法,但到目前为止我还没有设法让它正常工作。

基于我如何在组件的渲染方法中创建上面的链接:

但是我收到以下警告并且页面没有呈现:

方法 3 - 在原生 JS 中构建 Route 组件,使其不会被渲染:

这克服了先前的错误,但路由器实际上并未路由,并且我收到以下警告(并且组件未呈现):

历史:作为旁注,在上面的两个示例中,我都尝试将历史设置为:

但是我收到有关提供折旧历史记录的警告,并且当我检查该值时它为空。使用_reactRouter.browserHistory超越了这个警告。我不确定这是否与路由器未路由的事实有关。

我真的很感激任何帮助或指导。即使是指导哪种方法是正确的,以及关于如何进行的任何提示,也确实非常受欢迎。