web-dev-qa-db-ja.com

コンポーネント定義に表示名react / display-nameがありません

これに表示名を追加するにはどうすればよいですか?

export default () =>
  <Switch>
    <Route path="/login" exact component={LoginApp}/>
    <Route path="/faq" exact component={FAQ}/>
    <Route component={NotFound} />
  </Switch>;
14
David

関数を変数に入れ、関数にdisplayNameを設定してからエクスポートします。

const MyComponent = () => (
  <Switch>
    <Route path="/login" exact component={LoginApp}/>
    <Route path="/faq" exact component={FAQ}/>
    <Route component={NotFound} />
  </Switch>
);

MyComponent.displayName = 'MyComponent';

export default MyComponent;
21
Tholle

名前付き関数を作成せずに匿名コンポーネント関数にdisplayNameプロパティを追加する方法は、recomposeを使用することです。

import { compose, setDisplayName } from 'recompose';

export default compose(setDisplayName('SomeComponent'))(props => ...);

あるいは単に:

export default Object.assign(props => ..., { displayName: 'SomeComponent' });
1
Estus Flask