React-如何导出纯无状态组件

如何导出无状态的纯哑组件?

如果我使用类,则可以:

import React, { Component } from 'react';

export default class Header extends Component {
    render(){
        return <pre>Header</pre>
    }
}

但是,如果我使用纯函数,则无法使其正常工作。

import React, { Component } from 'react';
export default const Header = () => {
    return <pre>Header</pre>
}

我缺少基本的东西吗?

小宇宙Tom路易2020/03/16 15:24:13

ES6不允许export default const您必须先声明该常量,然后将其导出:

const Header = () => {
  return <pre>Header</pre>
};
export default Header;

存在此约束以避免写export default a, b, c;被禁止:只能将一个变量导出为默认变量

小宇宙神乐Mandy2020/03/16 15:24:13

只是作为旁注。从技术上讲,您export default无需先声明变量即可。

export default () => (
  <pre>Header</pre>
)
Gil伽罗2020/03/16 15:24:13

您还可以使用函数声明代替赋值:

export default function Header() {
    return <pre>Header</pre>
}

在您的示例中,您已经使用了大括号,return因此,这显然可以满足您的需求,并且毫不妥协。