我正在尝试使用react-bootstrap,但我正在努力应对以下错误:
未捕获的不变违规:addComponentAsRefTo(...):只有ReactOwner可以有refs。您可能正在为未在组件的
render
方法中创建的组件添加引用,或者您有多个React已加载的副本
我读到它与 反应被多次引用 的事实有关,我试图弄清楚为什么以及我在哪里这样做错误。
所以,为了解决这个问题,我尝试取消注释application.js 中的一些行,可能存在问题(我认为某些行已导入内部反应 - 但我认为范围只是那个文件所以无论如何都不重要。
这是我的application.js
//#= require jquery
//#= require bootstrap-sprockets
//#= require underscore
//#= require backbone
//#= require backbone_rails_sync
//#= require backbone_datalink
//#= require react
//#= require react_ujs
//#= require react_bootstrap
//= require utils
//= require components
components.js
//#= require underscore
//#= require backbone
//#= require react-server
//= require components/admin/general
//#= require components/admin/settings
最初他们都没有注释,但现在我评论了一些。我跑了
rake assets:clean
rake assets:precompile
一次和第二次只有佣金资产:干净但Rails仍在提供旧资产。为什么呢?
我在development.rb
中更改了以下内容config.assets.digest = false
config.assets.debug = true
当我启动rails服务器并导航到某个路径时,在我的控制台内,它引用了我不想要的所有脚本..
在下面的 application.js 中,回应是注释的,因此任何引用组件内的React的代码应该不能工作,但是它工作。
如何告诉Rails 重置application.js 中提到的资产?
答案 0 :(得分:0)
Well..nevermind
我发现注释是通过删除等号来完成的,而不是添加#