![](/img/trans.png)
[英]ESLint - Component should be written as a pure function (react prefer/stateless function)
[英]React - How to export a pure stateless component
如何導出無狀態的純啞組件?
如果我使用類這有效:
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
。
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
因此這顯然符合您的需求,毫不妥協。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.