2017-04-17 1 views
11

ich folgende einfache Komponente haben:Reagieren Dev Tools meine Komponente zeigen, wie Unknown

import React from 'react' 
import '../css.scss' 

export default (props) => { 
    let activeClass = props.out ? 'is-active' : '' 
    return (
    <div className='hamburgerWrapper'> 
     <button className={'hamburger hamburger--htla ' + activeClass}> 
     <span /> 
     </button> 
    </div> 
) 
} 

Als ich es in den Entwickler-Tools reagieren sehen, ich sehe:

enter image description here

dies ist weil ich die React-Komponente erweitern muss? Muss ich dies als Variable erstellen und tun?

Antwort

12

Dies passiert, wenn Sie eine anonyme Funktion als Ihre Komponente exportieren. Wenn Sie die Funktion (Komponente) benennen und dann exportieren, wird sie in den React Dev Tools korrekt angezeigt.

const MyComponent = (props) => {} 
export default MyComponent; 
+1

Vielen Dank! Ist es eine schlechte Übung, sie für die einfachen "dummen" staatslosen Komponenten unbenannt zu lassen? – Sequential

+3

Meine Präferenz besteht darin, zu benennen und dann aufgrund dieses Problems in verschiedene Zeilen zu exportieren. Allerdings würde ich zögern, es eine schlechte Übung zu nennen. –

+0

Vielen Dank, mein Herr! – Sequential