我正在嘗試使用內聯開關返回一個元素。但我只得到一個空的<span> </span>
。我究竟做錯了什麼?如何使用內聯開關返回一個jsx元素?
getRowTdForHeader: (header: string, entry: response) => {
return (<span>
{() => {
switch (header) {
case "Name": return entry.name;
case "Type": return entry.type;
default: return entry.name;
}
} }
</span>);
}
結果是空span
,如果我把一個斷點在返回,它從未進入switch語句都沒有。如果可能的話,我想保留它作爲內聯。如果我沒有內嵌它順便說一句,開關工作正常。
首先,我沒有看到'(目的)=>'其次,不需要連開關。你可以做'entry [(header ||'name')]' – Rajesh
@Rajesh這是如何工作的[entry [(header ||'name')]'? –
'entry'是一個對象,並且由於您返回的是同一個詞但不同大小寫的屬性,'header.toLowercase()'會爲您提供屬性名稱。所以如果頭是'Name','entry [header.toLowerCase()]'將返回'entry ['name']'。 '|| 'name'是默認值。如果頭沒有定義,則返回'name'。也是我的歉意,我忘了'.toLowerCase()' – Rajesh