我有一个在前端使用 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:
### Rails Assets Gems
source 'https://rails-assets.org' do
gem 'rails-assets-react-modal'
end
应用程序.js
//= require react
//= require react_ujs
//= require react-modal
//= require components
这是我的组件:
customStyles = content:
top: '50%'
left: '50%'
right: 'auto'
bottom: 'auto'
marginRight: '-50%'
transform: 'translate(-50%, -50%)'
DOM = React.DOM
@EntityBulkTracker = React.createClass
displayName: 'EntityBulkTracker'
getInitialState: ->
entity: @props.entity
modalIsOpen: true
openModal: (e) ->
@setState modalIsOpen: true
closeModal: (e) ->
@setState modalIsOpen: false
render: ->
DOM.div null,
Modal
isOpen: @state.modalIsOpen
onRequestClose: @closeModal
style: "#{customStyles}"
DOM.h2 null,
"Hello"
DOM.input
type: 'button'
onClick: @closeModal
DOM.div null,
"I am a modal"