* which one is more efficient to use?
They are equally efficient. It's a matter of coding style and preference.
No. 1 gives possibility to declare class without name such as
export default class extends Component {
render() {
return (
<div>markup</div>
);
}
}
No. 2 gives possibilities for further working with the class before exporting it. Such as adding proptypes Book.propTypes = { /* prop-types defintion */}
or used with higher order components.
* which one take less time? even difference in micro seconds?
Your target is probably for browsers which does not understand ES6 modules (import/export) natively. The compiled code is the same. I would recommend to play with https://babeljs.io/repl/ to get an idea what's is generated
* what is the different between export default and module.export?
The first is ES6 modules (to be understand by the browsers in the near future), the latter is NodeJS modules (https://nodejs.org/docs/latest/api/modules.html#modules_module). It's already well explained in Stackoverflow if you search around, e.g. https://stackoverflow.com/a/40295288/815507