[英]React <Text> with ternary conditional operator
我是 react-native 的新手,我不知道如何為我想要實現的目標找到解決方案。 我有多個返回 null 或字符串的函數。 我想顯示不是 null 時的返回值。例如我的函數是
//these functions either return null or a string
const a =() => { ...};
const b =() => { ...};
const c =() => { ...};
我有一個<Text>
組件,我想顯示<Text>
組件內函數的返回值。
現在我正在通過以下方式進行
<Text>
{a()}{b()}{c()}
</Text>
現在一切正常,當文本是字符串時,文本只會顯示返回值。
我想添加一個三元條件運算符並檢查新變量tmp
是否未定義。 如果tmp
未定義,則<Text>
應該顯示tmp
值,否則它應該顯示我上面的 function 的返回值。
<Text>
{tmp !== undefined ? tmp : }{a()}{b()}{c()}
</Text>
如果我做類似的事情
<Text>
{tmp !== undefined ? tmp : (
a();
b();
c();
)}
</Text>
如果tmp
未定義,它也會顯示從 function 返回的 null。 但我不希望函數返回的 null 像第一個示例那樣顯示。
您a
、 b
和c
函數可以返回一個空字符串而不是null
嗎?
如果是這樣,您可以將答案重寫為:
<Text>{tmp || `${a() + b() + c()}`}</Text>
如果沒有,寫起來會稍微麻煩一點,但是同樣的思路也行:
<Text>{tmp || `${a() || ''}${b() || ''}${c() || ''}`}</Text>
有多種方法可以實現這一點,在 React Native 中,您可以嵌套<Text>
組件。 如果不使用三元運算符,我會這樣做:
<View>
{tmp && (
<Text>
{_a && <Text>{_a}</Text>}
{_b && <Text>{_b}</Text>}
{_c && <Text>{_c}</Text>}
</Text>
)}
</View>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.