我是新手,所以我想知道哪一个更有效,哪一个时间复杂度最高。
没有。1
export default class BookingTabs extends Component {
render() {
return (
);
}
}
没有。2
class Book extends Component {
render() {
return (
);
}
}
export default Book
问题:
- 使用哪一个更有效
- 哪一个耗时更少?甚至相差几微秒
- export-default和module.export有什么不同
它们之间没有区别。但当您想使用一些高阶组件时,应该使用第二个。例如,您希望对redux应用程序使用"connect"。你必须写
class Book extends Component {
render() {
return (
);
}
}
export default connect(Book)
*使用哪一个更高效
他们同样高效。这是一个编码风格和偏好的问题。
没有。1提供了在没有名称(如)的情况下声明类的可能性
export default class extends Component {
render() {
return (
<div>markup</div>
);
}
}
没有。2提供了在导出该类之前进一步处理该类的可能性。例如添加proptypesBook.propTypes = { /* prop-types defintion */}
或与高阶组件一起使用。
*哪一个耗时更少?甚至相差几微秒
您的目标可能是那些不了解ES6模块(导入/导出)的浏览器。编译后的代码是相同的。我建议你玩https://babeljs.io/repl/了解生成了什么
*导出默认值和模块导出之间有什么不同
第一个是ES6模块(不久的将来浏览器会理解),第二个是NodeJS模块(https://nodejs.org/docs/latest/api/modules.html#modules_module)。如果你四处搜索,它已经在Stackoverflow中得到了很好的解释,例如。https://stackoverflow.com/a/40295288/815507