为什么es6仅使用“导出默认值”响应组件工作?
这个组件工作:
export class Template extends React.Component { render() { return ( <div> component </div> ); } }; export default Template;
如果我删除最后一行,它不起作用。
Uncaught TypeError: Cannot read property 'toUpperCase' of undefined
我猜,我不明白在es6语法中的一些东西。 是不是必须导出没有符号“默认”?
无default
导出意味着它是一个“命名导出”。 您可以在一个文件中有多个命名导出。 所以如果你这样做,
export class Template {} export class AnotherTemplate {}
那么您必须使用其确切名称导入这些导出。 所以要在另一个文件中使用这些组件,你必须做的,
import {Template, AnotherTemplate} from './components/templates'
或者,如果您导出为这样的default
导出,
export default class Template {}
然后在另一个文件中导入不使用{}
的默认导出,就像这样,
import Template from './components/templates'
每个文件只能有一个默认导出。 在React中,它是从文件中导出一个组件的惯例,并且将其导出为默认导出。
您在导入时可以自由重命名默认导出,
import TheTemplate from './components/templates'
您可以同时导入默认和命名导出,
import Template,{AnotherTemplate} from './components/templates'