问题标签 [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.
reactjs - ReactDnD:“不变违规:addComponentAsRefTo”错误
亲爱的 StackOverflow 的人们,
我正在尝试在 React-Rails 应用程序中实现拖放功能。但是,只要将 DragDropContext 添加到顶级组件,我就会在浏览器控制台中看到此错误:
'react.self-0f0e88a....js?body=1:1087 未捕获错误:不变违规:addComponentAsRefTo(...):只有 ReactOwner 可以有 refs。您可能正在向未在组件render
方法中创建的组件添加 ref,或者您加载了多个 React 副本
这是我目前拥有的应用程序的唯一代码:
添加这一行代码会导致我们所有的 PhantomJS 集成测试失败。任何帮助,将不胜感激。谢谢!
编辑:根据要求,这里是我们渲染 App 的 index.html.erb。
ruby-on-rails - 如何避免 reactjs 中的 key/id 问题并使道具从父母传递给孩子?
尝试将父数据传递给子组件时,我一直碰壁。
我的观点:
我的Items
组件进行 ajax 调用、设置状态并呈现Item
. 忽略传递给映射函数key={this.props.id}
的Item
实例,以便组件 html 呈现到页面。但是添加密钥,我得到一个控制台错误:Uncaught TypeError: Cannot read property 'id' of undefined
这是“项目”:
我的 item.js.jsx 组件只是格式化每个Item
:
React 开发工具扩展显示了 Items 中的 props 和 state 数据。然而,孩子们是空的。
我知道这一点,但我正在使用this.props.id
. 我不确定我错过了什么?
ruby-on-rails-4 - React-Rails:使用带有翻译 I18n 的组件
我已添加到我的项目react-rails
gem 中,我想将其用于已翻译的组件。
我无法放入预编译的资产erb
模板,但我仍在尝试创建组件,使它们在所有项目中可用,然后在某些部分中使用它们并进行一些翻译。
工作场景
期望的场景(不工作)
我想这个问题与我的组件定义的范围有关,但我不知道如何使组件可用于任何部分。
先感谢您
编辑
为了使翻译可用,我找到了gem I18n-js
. 安装后,我可以轻松运行 rake 任务来创建我的config/locales/*
翻译的 js 版本
reactjs - React 对象作为 React 子对象无效,请使用 React 附加组件中的 createFragment(object) 包装对象
我正在尝试根据反应中的条件向元素呈现一些属性,如下所示:
但是根据条件得到以下错误,
Uncaught Invariant Violation:对象作为 React 子对象无效(发现:对象与键 {onClick})。如果您打算渲染一组子对象,请改用数组或使用 React 附加组件中的 createFragment(object) 包装对象。检查
Constructor
.
或者
Uncaught Invariant Violation:对象作为 React 子对象无效(发现:对象与键 {data-toggle, data-placement, title})。如果您打算渲染一组子对象,请改用数组或使用 React 附加组件中的 createFragment(object) 包装对象。检查
Constructor
.
以下代码虽然有效,
此外,我不确定为什么我不能在 if/for 中渲染多个元素。只允许一个元素,如果我渲染多个元素而不是仅最后一个元素在 HTML 中呈现
javascript - 将 webpack 与 Rails 资产管道一起使用
我正在使用带有导轨和链轮的 webpack。React 是通过 gem react-rails 添加的。我不断收到错误
所以它仍然从我的问候文件app/assets/javascripts/components/main.jsx和greet.jsx读取的事实对我来说似乎是一个问题,据我对 webpack 的理解是你希望它从导出的bundle.js 文件。
我的 Rails 视图如下所示: app/views/home/index.html.erb
应用程序/资产/javascripts/components/main.jsx
应用程序/资产/javascripts/components/greet.jsx
我的 Webpack 文件如下所示:webpack.config.js
还有我的app/assets/javacsripts/application.js
如果我删除导入和导出调用它工作正常,但我正在遵循的教程使用它们。当我删除组件目录并且只需要bundle.js文件时,我从 react-rails 收到错误消息。
我不知道如何识别调用导入和导出。我知道这与 ES6 有关,但我认为 webpack 应该可以解决这个问题。
greet.jsx、main.jsx 和 bundle.js 都在我浏览器的网络选项卡中被调用。
ruby-on-rails - 当按下搜索按钮时,从后端(rails 4)中使用 ajax 'get' 调用的表单获取用户输入
所以,我有一个看起来像这样的 React-Component (search_alerts.es6.jsx)
负责调用get方法的ajax调用看起来像这样
在我的 routes.rb 中,我正在这样做
在我的 alerts_controller
对于搜索,我在 alert.rb 中执行此操作
现在,如果我在 url 中传递查询,就像这样,
例如,它返回所有邮政编码从 117 开始的 json 警报,并且反应组件正在获取它并正确显示它。我的问题是,当用户在搜索表单中输入关键字时,如何让搜索工作?我已经尝试过堆栈溢出的其他示例,它没有用,我知道我错过了一些东西,但不知道是什么。谢谢!
ruby-on-rails - 在任何来源中都找不到 json-1.8.1
我正在使用 react-rails 做一个项目,但是当我运行时
我明白了
具体来说,这是整个错误
在stackoverflow上有很多关于这个的帖子,并且尝试了大多数“解决方案”,但似乎没有一个对我有用,我也跑了
它说我有 json gem via
我试图停止春天,更新宝石和捆绑器。我也跑过
无济于事,仍然收到此错误,任何输入将不胜感激。
ruby-on-rails - React-rails- Invariant Violation: traverseParentPath(...): Cannot traverse from and to the same ID Error in setState
所以基本上我的错误来自 this.setState ,请帮助谢谢。只有当我与 Rails 集成时才会出现遍历路径错误。它与正常反应完美配合。使用 react-rails 时会发生此错误
reactjs - 在 Rails 中使用 reactJS 进行选择的预加载选项
我正在尝试通过使用 React 动态加载选项来进行选择。
我的表单组件:
用户选项组件:
当我尝试该页面时,javascript会中断(不加载任何内容)并出现错误
当试图在componentWillMount
回调中加载时,我得到了同样的错误 +
Uncaught TypeError: Cannot read property '_currentElement' of null
我正在使用react-rails
宝石。
奇怪的是,当我在成功回调中调试时,手动调用 setState 然后检查connections
它们是否已更新,但Uncaught TypeError: Cannot read property '_currentElement' of null
无论如何我都得到了
任何帮助将不胜感激。我是 React 的新手,所以这可能是微不足道的。
ruby - 单击不使用反应组件+ capypara
我有一个反应组件,当我点击一个图标时,状态会改变,然后我输入一个输入而不是图标。
当我尝试在我的测试中模拟它时,使用 capybara 组件不会改变。
由于水豚,点击是否有可能在组件上不起作用?或者只是因为它是一个反应组件而不起作用?
零件:
测试: