我有以下組成部分:遇到問題渲染爲道具通過的陣營元素
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
絕對是一個材料UI SvgIcon
,但我得到警告,當我試試這個。
arning:React.createElement:類型不應該爲null,undefined,boolean或number。它應該是一個字符串(用於DOM元素)或ReactClass(用於複合組件)。檢查
Chip
的渲染方法。
但這似乎工作:
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>
};
爲什麼不是第一位的工作,如果它是一個真正的陣營元素?
你有沒有嘗試在返回的值周圍加括號? JS認爲return語句在第一行之後完成了,可能有些事情出錯了? – Nick