Ich erstelle eine Komponente, die ich den Elementtyp konfigurierbar sein soll.Was ist der richtige PropTypes für Komponente oder Element
So Container-Element könnte entweder wie in den defaultProps oben sein oder es könnte eine Komponente sein.
<Col containerElement={<MyComponent} />
kann ich die propTypes
bekommen zu bestätigen, ich habe dies versucht: richtig
Col.propTypes = {
className: PropTypes.string,
containerElement: PropTypes.oneOf([
PropTypes.string,
PropTypes.element
]),
Aber es lässt sich aber nicht.
Warnung: Fehler PropType: Ungültige prop
componentClass
Wertdiv
zuCol
geliefert,
Was genau geben Sie an die Komponente weiter? Wenn der Wert wirklich ein Element ist, kann man es trotzdem nicht als '' verwenden. '' ist syntaktischer Zucker für 'React.createElement ('containerElement', ...)'. Auch wenn es eine Zeichenfolge ist, wird "containerElement" an "React.createElement" übergeben, nicht die * Variable "containerElement". Bevor ich mich über den Validierungsfehler Gedanken mache, würde ich sicherstellen, dass der Code selbst das korrekte Ergebnis erzeugt (d.h. korrekt funktioniert). –