diff --git a/lib/generators/react/component_generator.rb b/lib/generators/react/component_generator.rb index c45d0cf59..e5e2cf982 100644 --- a/lib/generators/react/component_generator.rb +++ b/lib/generators/react/component_generator.rb @@ -129,14 +129,18 @@ def component_name def file_header if webpacker? - %|var React = require("react")\n| + if options[:coffee] + %|import React from 'react'\nimport PropTypes from 'prop-types'\n| + else + %|var React = require("react")\n| + end else '' end end def file_footer - if webpacker? + if webpacker? && !options[:coffee] %|module.exports = #{component_name}| else '' diff --git a/lib/generators/templates/component.js.jsx.coffee b/lib/generators/templates/component.js.jsx.coffee index c8cdcbf87..ebb4ffe2f 100644 --- a/lib/generators/templates/component.js.jsx.coffee +++ b/lib/generators/templates/component.js.jsx.coffee @@ -1,4 +1,5 @@ -class @<%= component_name %> extends React.Component +<%= file_header %> +export default class @<%= component_name %> extends React.Component <% if attributes.size > 0 -%> @propTypes = <% attributes.each do |attribute| -%> @@ -16,3 +17,4 @@ class @<%= component_name %> extends React.Component <% else -%> `
` <% end -%> +<%= file_footer %>