65 javascript export ecmascript-6 reactjs
如何导出无状态纯哑组件?
如果我使用类,这有效:
import React, { Component } from 'react';
export default class Header extends Component {
render(){
return <pre>Header</pre>
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用纯函数,我无法使其工作.
import React, { Component } from 'react';
export default const Header = () => {
return <pre>Header</pre>
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么基本的东西?
Dam*_*oux 127
ES6不允许export default const.您必须先声明常量然后导出它:
const Header = () => {
return <pre>Header</pre>
};
export default Header;
Run Code Online (Sandbox Code Playgroud)
存在此约束以避免export default a, b, c;禁止写入:只能将一个变量导出为默认值
che*_*osh 34
就像旁注一样.从技术上讲,您可以export default先声明变量.
export default () => (
<pre>Header</pre>
)
Run Code Online (Sandbox Code Playgroud)
sra*_*nji 17
const ComponentA = props => {
return <div>{props.header}</div>;
};
export default ComponentA;Run Code Online (Sandbox Code Playgroud)
2)
export const ComponentA = props => {
return <div>{props.header}</div>;
};Run Code Online (Sandbox Code Playgroud)
如果我们使用default我们像这样导入
import ComponentA from '../shared/componentA'
Run Code Online (Sandbox Code Playgroud)
如果我们不使用default我们像这样导入
import { ComponentA } from '../shared/componentA'
Run Code Online (Sandbox Code Playgroud)
您还可以使用函数声明代替赋值:
export default function Header() {
return <pre>Header</pre>
}
Run Code Online (Sandbox Code Playgroud)
在您的示例中,您已经使用了花括号,return因此,这显然可以满足您的需求,并且毫不妥协。