此组件确实可以工作:
export class Template extends React.Component {
render() {
return (
<div> component </div>
);
}
};
export default Template;
如果我删除最后一行,它就不起作用了。
Uncaught TypeError: Cannot read property 'toUpperCase' of undefined
我想,我不理解es6语法中的一些东西。它不是必须在没有标记"default“的情况下导出吗?
发布于 2015-08-06 18:52:50
在没有default
的情况下导出意味着它是一个“命名导出”。您可以在单个文件中包含多个命名导出。所以如果你这么做了,
class Template {}
class AnotherTemplate {}
export { Template, 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'
https://stackoverflow.com/questions/31852933
复制相似问题