I am looking through some React projects, and sometimes see-
export default () => {
But other times I see-
export default class
The first one is a functional component. However the other code will export a regular class/React component.
For example
export default (withHistory, onUpdate) => {
const history = new HashHistory;
return (
);
};
Will compile (at least with Babel+webpack) to
...
var _reactRouterLibHashHistory = __webpack_require__(35);
var _reactRouterLibHashHistory2 = _interopRequireDefault(_reactRouterLibHashHistory);
exports['default'] = function (withHistory, onUpdate) {
var history = new _reactRouterLibHashHistory2['default']();
return React.createElement(
_reactRouter.Router,
{ history: history, onUpdate: onUpdate },
React.createElement(_reactRouter.Route, { path: '/', component: _routesIndex2['default'] })
);
};
module.exports = exports['default'];
...