I want to use the new ES6 React classes that were introduced with React v0.13, but I cannot get it to compile correctly. Say I have the following React component defined in the syntax of a new class:
(function() { 'use strict'; import React from 'react'; class _UserDashboard extends React.Component { render() { return( <div className="user-dashboard"> <Books /> </div> ); } } export const UserDashboard = React.createClass(_UserDashboard.prototype); }());
The problem that I am facing is that during compilation using Grunt and Browserify and Reactify , Reactify gives an error message when it finds the import keyword:
ReactifyError: / Users / **** / Sites / *** / assets / js / components / UserDashboard.jsx: Analysis error: line 7: Unexpected reserved word while analyzing the file: / Users / **** / Sites / * *** / assets / js / components / UserDashboard.jsx
The problem here seems to be related to using Reactify reactive tools, see here and here . But I'm not sure if it is possible to enable the es6module parameter in Reactify.
I tried these two options to no avail:
... transform: [[ 'reactify', {'es6module': true} ]] ...
and
... transform: [[ 'reactify', {'es6':true, 'es6module':true} ]] ...
Does anyone know how to do this?
source share