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

React - How to export a pure stateless component

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

如果我使用 class 这有效:

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>
}

我是不是漏掉了一些基本的东西?

ES6 不允许 export default const。您必须先声明常量然后导出它:

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

存在此约束是为了避免写入被禁止的 export default a, b, c;:默认情况下只能导出一个变量

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

export default () => (
  <pre>Header</pre>
)

你可以通过两种方式做到这一点

const ComponentA = props => {
  return <div>{props.header}</div>;
};

export default ComponentA;

2)

export const ComponentA = props => {
  return <div>{props.header}</div>;
};

如果我们使用 default 导出,那么我们会像这样导入

import ComponentA from '../shared/componentA'

如果我们不使用 default 导出,那么我们会像这样导入

import { ComponentA } from '../shared/componentA'

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

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

在您的示例中,您已经使用了大括号和 return,因此这显然完全符合您的需求。