We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
This guide works on Webpacker 3, based on https://github.com/BookOfGreg/react-rails-example-app/pull/1/files
yarn add cjsx-loader
If you're on older versions of Webpacker you may need to add the coffee-loader also as it comes with @rails/webpacker in V3+ .
yarn add coffee-loader
config/webpack/environment.js
const { environment } = require('@rails/webpacker') environment.loaders.set('coffee', { test: /\.coffee$/, use: ['cjsx-loader', 'coffee-loader'] }) module.exports = environment
app/javascript/components/Todo.coffee
import React from 'react' import PropTypes from 'prop-types' class Todo extends React.Component @propTypes = task: PropTypes.string render: -> `<div> <div>Task: {this.props.task}</div> </div>` export default Todo
app/views/controller/action.html.erb
<%= react_component 'Todo', { task: 'A working coffee component' } %>