我有一个在前端使用 react 的 rails 应用程序,但是我无法将其他 react module添加到我的组件中。我正在使用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"