Ich habe die folgende Komponente:Probleme ein Element als Stütze geführt React Rendering
const Chip = (props) => {
const ChipIcon = props.icon;
let deleteButton = null;
if (!props.readOnly) {
deleteButton = <Delete
style={styles.deleteButton}
onTouchTap={props.onRemove}
/>
}
return <div className="Chip" style={styles.tag}>
<ChipIcon />
{' ' + props.label + ' '}
{deleteButton}
</div>
};
props.icon
ist definitiv ein Werkstoff UI SvgIcon
, aber ich erhalte Warnungen, wenn ich das versuchen.
arning: React.createElement: type sollte nicht null, undefined, Boolean oder Zahl sein. Es sollte eine Zeichenfolge (für DOM-Elemente) oder eine ReactClass (für zusammengesetzte Komponenten) sein. Überprüfen Sie die Rendermethode
Chip
.
Aber das scheint zu funktionieren:
const Chip = (props) => {
const chipIcon = props.icon;
let deleteButton = null;
if (!props.readOnly) {
deleteButton = <Delete
style={styles.deleteButton}
onTouchTap={props.onRemove}
/>
}
return <div className="Chip" style={styles.tag}>
{chipIcon}
{' ' + props.label + ' '}
{deleteButton}
</div>
};
Warum nicht die erste Arbeit, wenn es wirklich ein Element Reagieren ist?
Haben Sie versucht, den zurückgegebenen Wert durch Klammern zu ersetzen? Vielleicht geht etwas schief, da JS denkt, dass die Return-Anweisung nach der ersten Zeile beendet ist? – Nick