问题标签 [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.
heroku - Heroku Production - ActionView::Template::Error(未定义的方法 `directory' for #)
我们有一个 react-rails 应用程序。不幸的是,该应用程序适用于本地开发,但在部署到 heroku 时不能。在应用程序上转到我们的默认路径时,我们收到以下错误:
ActionView::Template::Error (undefined method 'directory' for #<Sprockets::Manifest:0x007fef13200aa8>)
在我们看来,我们已经发现它发生在这一行:
<%= react_component('NavBar', {}, {prerender: true}) %>
关于我们的应用程序的一些事情:
- 它使用 browserify 来编译我们的 js.jsx。
- 我们
RAILS_ENV=production bundle exec rake assets:precompile
在删除 public/assets 文件夹后使用预编译。 - 在本地与两者一起
rails s
工作foreman start
- 我们正在使用 boostrap 链轮。即使删除,我们仍然有这个问题。
这是我们的 npm 依赖项:
这是我们的 Gemfile
我们将不胜感激。
ruby-on-rails - 如何在 react-rails 组件中从 rails-assets.org 调用 react-modal
我有一个在前端使用 react 的 rails 应用程序,但在向我的组件中添加其他 react 模块时遇到问题。我正在使用react-rails将 react 合并到我的 rails 应用程序中。我想将react-modal添加到组件中。我使用 rails-assets 将 react-modal 添加为 gem,但在组件中调用 react-modal 时遇到问题。我希望这将是一个与 React.DOM 类似的调用,但似乎并非如此。
由于链轮,我不能使用正常的 'require()' 语法,我想坚持使用 rails-assets 而不是 browserify/webpack 解决方案。
因此,为了清楚起见,我想在我的组件中显示模态,截至目前,我收到一个错误,提示“未定义模态”。谢谢你的帮助。
这是来自 rails-assets 的 gem:
应用程序.js
这是我的组件:
ruby-on-rails - 使用 rails + react-rails gem + react 路由器进行服务器渲染
我创建了这个示例 repo,它使用 rails (v4.2.6) 和 react-rails (v1.6.2) 和 react-router (v2.0.0-rc5):https ://github.com/pioz/rails_with_react_and_react_router_example
在文件中app/views/application/react_entry_point.html.erb
,我MountUp
使用
该组件MountUp
呈现我的路由器:
一切正常,但如果我更改选项,prerender: true
我会收到一个奇怪的错误React::ServerRendering::PrerenderError in Application#react_entry_point
:
如何渲染此应用服务器端?这是正确的方法吗?
ruby-on-rails-4 - 警告:输入是一个空元素标签,不能有 `children` 或使用 `props.dangerouslySetInnerHTML`。检查 null 的渲染方法
如果对表单 URL 的 ajax 调用失败,我将尝试在表单中呈现错误。下面是我的Admin
组件:
对应的AdminError
组件是:
在调试时,我得到了 @props.errorText 的正确值,因为“电子邮件无效”。但它没有在页面上呈现,我在控制台中收到此警告:“警告:输入是一个 void 元素标记,不得具有children
或使用props.dangerouslySetInnerHTML
。检查 null 的渲染方法。” 附件是错误和页面的屏幕截图。
我尝试如下更改 AdminError 组件,但没有成功:
当我在返回危险SetInnerHTML 的行处设置调试点时,我正确地获得了@props.errorText
“电子邮件无效”的值和marked(@props.errorText.toString())
“
电子邮件无效
“..但仍然根本没有呈现错误的帮助块。更新: 在 AdminError 组件中进行了以下更改
应用程序/资产/javascripts/components/adminerror.js.coffee
在 Admin 组件中,对 adminform 方法进行了以下更改:
不再收到警告,而是收到以下错误:
javascript - ReactCompositeComponent.render():必须返回一个有效的 ReactComponent。您可能返回了未定义、数组或其他一些无效对象
我在控制台中收到上述错误,即使我正确地返回了要渲染的组件。errorTexts = ["email is invalid"]
以下代码中的值
AdminError 组件包含以下代码:
这个组件的 JS 等价物是:
从 AdminError 组件返回的结果值显示在下面的屏幕截图中,但是,我不确定返回的对象类型是否可以接受,因为它在 for 循环中:
更新: 修改了 AdminError 组件中的代码以修复此错误
并再次收到此错误:
javascript - React on Rails:Jsx 和 Coffeescritpt 显示 @props
我对 React 很陌生。
如何@props
使用Jsx
and显示CoffeeScript
?
在我的文件records.js.jsx.coffee
中,我有以下代码来显示记录的日期和标题:
我收到的错误是SyntaxError: unknown: Unexpected token (5:11)
我希望我可以使用反引号来转义代码`
javascript - 使用 JS 手动挂载/渲染 React 组件
ruby-on-rails - React-Rails API 轮询
我是 React 新手,我已经阅读了有关如何将 React 用作独立服务的官方 React 教程,并且刚刚阅读了有关在 Rails 应用程序中使用 react-rails gem 的本教程,大部分我已经占用正是我需要的。我遇到的问题是我需要为我的小 React 页面实现某种简单的 API 轮询,但我似乎无法在任何地方找到关于如何在 react-rails 中最好地实现这一点的文档。
在 react 教程中,它告诉我们pollinterval = 2000
在声明数据源时使用每 2000 毫秒轮询一次源。我尝试按如下方式实现,但无济于事:
不幸的是,当我加载页面时,不仅没有实际显示任何内容,而且似乎根本没有查询数据库——即使是最初。这让我相信这不是 AJAX 调用/设置轮询间隔的正确位置,但在我的谷歌搜索中没有什么特别有用的。
javascript - 为 html 中的禁用元素启用 onMouseOut
在 react-rails 中,onMouseOut 事件仅在元素未禁用时才起作用。
以下是 render 方法中的代码:
调用的相应方法如下所示:
javascript - Coffeescript:添加由布尔值控制的条件类名
我正在尝试使用以下方法将类名添加到反应中的元素:
然而,这导致class="btn btn-primary true"
这段coffee代码编译成不正确的JS如下:
在咖啡中这样做的正确语法是什么?