我是新手做出反应所以它只是一个问题,我想知道哪一个更有效,哪个给出了最佳的时间复杂性。
没有。 1
export default class BookingTabs extends Component {
render() {
return (
);
}
}
没有。 2
class Book extends Component {
render() {
return (
);
}
}
export default Book
问题:
答案 0 :(得分:4)
它们之间没有区别。但是当你想使用某些高阶组件时,你应该使用第二个。 例如,您希望对redux应用程序使用“connect”。你必须写
class Book extends Component {
render() {
return (
);
}
}
export default connect(Book)
答案 1 :(得分:0)
*哪一个使用效率更高?
他们同样有效率。这是编码风格和偏好的问题。
没有。 1允许声明没有名称的类,如
export default class extends Component {
render() {
return (
<div>markup</div>
);
}
}
没有。 2提供了在导出之前进一步使用该类的可能性。例如添加proptypes Book.propTypes = { /* prop-types defintion */}
或与更高阶的组件一起使用。
*哪一个花费的时间少?甚至微秒的差异?
您的目标可能适用于本身不了解ES6模块(导入/导出)的浏览器。编译后的代码是一样的。我建议您使用https://babeljs.io/repl/来了解生成的内容
* export default和module.export之间有什么不同?
第一个是ES6模块(在不久的将来被浏览器理解),后者是NodeJS模块(https://nodejs.org/docs/latest/api/modules.html#modules_module)。如果你搜索一下,在Stackoverflow中已经很好地解释了,例如https://stackoverflow.com/a/40295288/815507