问题标签 [react-rails]

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 投票
2 回答
69 浏览

coffeescript - gem react-rails,我的咖啡风格有什么问题?

这是我第一次尝试使用 react。而且我不明白发生了什么.. :)

一个有:

在我看来,有:

当我打开页面时,有:

但我的期望是:

这个块有什么问题?

0 投票
1 回答
290 浏览

react-rails - 将 react-rails 与具有 react 作为依赖项的包一起使用

我一直在玩,rails-react效果很好。最近我在我package.json.

运行时出现以下错误npm install

npm WARN EPEERINVALID react-dropzone@3.2.2 requires a peer of react@^0.14.0 but none was installed.

如果我明确添加react它安装一切就好了。

但是,当我进入浏览器时,出现以下错误:

在此处输入图像描述

使用react-rails (1.5.0)"react-dropzone": "^3.2.2"

0 投票
1 回答
3052 浏览

reactjs - (Jade 或 Slim)类似 React 的语法?

我已经习惯了使用 slim 和 jam,最近我开始使用 React 在前端编写应用程序,发现现在我又在我的组件中编写了臃肿的 HTML。我目前正在使用 Ruby on Rails 和 .jsx 文件和 babel 等,使用:

但我也在使用带有 node 的 React 并使用react-starterify样板进行表达,这与 Node 的故事相同。

有什么东西可以让我开始使用像 slim 或 Jade 这样的语法在 React 中编写我的 html 吗?

0 投票
0 回答
313 浏览

ruby-on-rails - 除了 chrome 浏览器,没有定义 React

我正在为我的 rails 4 应用程序使用react-rails 。使用反应模块的唯一方法是通过这种方法。一切都很好,没有问题。一直以来,我都在使用 chrome 版本 47.0.2526.106(64 位)。

使用任何其他浏览器,我得到React is not defined.

奇怪的是,如果我//= require reactapplication.js其中删除了消息,但我肯定会要求 React 两次,这会产生其他问题,因为 react 是必需components.jsReact = require('react');

简而言之,我正在使用react-rails gemand npm react。我只需要使用npm版本的react和react-rails的格式'<%= react_component() %>

关于为什么 chrome 没有任何问题而不是其他问题(firefox,safari)的任何解决方案。我没有尝试过资源管理器。

应用程序.js:

组件.js:

错误堆栈:

包.json:

宝石文件:

0 投票
0 回答
194 浏览

javascript - '无法解析文件或目录“react”',使用 react-rails gem 和 ruby​​mine

我正在使用react-railsgem 和Rubymine. 之后rails g react:install,我的application.js文件如下所示:

除此以外的一切都//= require react得到认可。红宝石告诉我Cannot resolve file or directory "react".

当我查看我的 时Rails.application.config.assets.paths,我看到了我的 react gem 路径,我可以在react_ujs.js.erb那里找到,但没有react.js*文件。react-rails这是宝石 的某种错误吗?

解决这个问题的正确方法是什么?

编辑:根据有关react buildsreact-rails的文档部分,可以通过在适当的环境文件中分配环境符号来选择正确的 react 构建。这样做仍然不能解决警告,但将文件复制到资产路径位置之一可以。似乎有些东西不太好用。Rubyminereact.jsreact-railsRubymine

0 投票
2 回答
886 浏览

ruby-on-rails - React.js - Rails:设置状态

我有两个组件:应用程序和注册表单

该表单有两个输入:姓名和姓氏

查看 dev 中的 App 状态。我看到的工具长度:未定义和名称:“输入的名称”。我没有收到任何错误,但我缺少姓氏。

这只发生在 Rails 中。我在非 Rails 环境中尝试了相同的代码,它工作正常。我将这个 gem 用于 React:gem 'react-rails', '~> 1.5.0' 并运行 Rails 4.2.4

我要做的是根据时间戳为每个注册提供一个唯一的 ID 号。

当我控制台记录以下内容时:

我可以按照我想要的方式查看注册对象。我可以向 App 状态添加尽可能多的唯一注册,但每个注册都有 length: undefined, name: "name" ,但它缺少姓氏。

如果我将设置状态更改为:

这给了我一个包含姓名和姓氏的单一注册,但它不会添加多个注册。它只创建一个注册,每次我提交添加注册表单时都会更新。

0 投票
1 回答
549 浏览

react-router - 使用 react-router-relay 和 react-rails 进行服务器端渲染

我的服务器端是 rails,我使用 react-rails 和服务器端渲染(prerender:true)。最近开始使用带有 react-router-relay 的中继,但这样一来,服务器端渲染不再可能,因为显然获取数据涉及与涉及超时等的 graphql 服务器通信,这些在服务器渲染时不可用。所以我想肯定有办法将数据预先注入到服务器端的中继存储中,以避免调用graphql。我找到了这个库:https ://github.com/denvned/isomorphic-relay-router ,但我不能使用它,因为它与 react-rails 的使用不兼容(例如,我在任何地方都没有 app.get我的应用程序,所以没有地方可以使用那里提到的匹配功能)。关于如何使这项工作的任何想法?

0 投票
1 回答
2359 浏览

html - 使用 value 属性渲染时输入字段不接收键盘事件?

我正在使用 react-rails gem 与 ReactJS for Rails 一起工作。奇怪的是,如果我在渲染 React 组件时设置了一个非空值属性,输入字段将不会收到任何键盘事件

这不行!

但它有效

有什么想法吗?非常感谢!

0 投票
1 回答
67 浏览

javascript - 如何在运行单元测试时将 React 添加为全局?

在我的 Rails 项目中,我使用了 react-rails gem,它执行以下操作:

这非常方便,但是当我使用 Jest 运行单元测试时,全局不存在,并且我从包含我正在测试的组件的文件中收到一个错误,说 React 没有定义。

如果我使用在组件文件中定义 React

然后由于加载 React 两次而导致错误。

我应该如何在我的单元测试中定义一个全局React变量以便它们工作?

0 投票
0 回答
432 浏览

ruby-on-rails - 使用 Coffeescript 制作 React-rails 动画

我一直在寻找在使用 Coffeescript 的 RoR 应用程序中使用 ReactJS 动画的解决方案。

我试过这个(assets/javascript/components/sidebar/teams_form.js.jsx.coffee):

在 Chrome 的开发人员工具(React 选项卡)中,我看到以下内容: Chrome 开发工具截图

这是我的 SASS 代码(assets/stylesheets/partials/_sidebar.sass):

生成的代码不会为任何内容设置动画。它做了一个没有背景颜色的简单渲染。多年来我一直在寻找解决方案!

(TeamForm 在单击创建元素并按 ID 将其添加到给定 div 的链接后呈现)

如果有人可以帮助我,那就太好了!

非常感谢。

编辑:我设法通过简单地使用 jQuery 添加/删除类 onClick 来解决这个问题。但是,这似乎不是正确的解决方案。不过,我仍然很想知道这些动画是如何工作的。