web-dev-qa-db-fra.com

Le nom d'affichage est manquant dans la définition de composant.

Comment puis-je ajouter un nom d'affichage à cela?

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

Placez la fonction dans une variable, définissez displayName sur la fonction, puis exportez-la.

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

Un moyen d'ajouter la propriété displayName à la fonction de composant anonyme sans créer de fonction nommée consiste à utiliser recompose:

import { compose, setDisplayName } from 'recompose';

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

Ou juste:

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