Я пытаюсь использовать react-bootstrap, но борюсь со следующей ошибкой:
Неперехваченное нарушение инварианта: addComponentAsRefTo(...): Только ReactOwner может иметь ссылки. Возможно, вы добавляете ссылку на компонент, который не был создан внутри метода
render
компонента, или у вас загружено несколько копий React.
Я читал, что это как-то связано с тем фактом, что на react ссылаются несколько раз, и я пытаюсь понять, почему и где я допустил эту ошибку.
Итак, чтобы решить эту проблему, я попытался раскомментировать некоторые строки в application.js, возможно, в этом проблема (я думал, что некоторые строки импортированы внутри реакции, но я думаю областью будет только этот файл, так что это все равно не имеет значения)
Это мое приложение.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
компоненты.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?