如何在嵌套映射函数中应用条件语句



我想处理我的item.fieldtype结果的每个字符串,但我没有找到一种方法,有人知道怎么做吗?

....
<SafeAreaView style={{flex: 1}}>
<View>
{Object.keys(Body).length > 0 ? (
Body.map(item => <Text key={uuid.v4()}>{item.field}</Text>
// if (item.fieldtype == "Numeric") <Text>Numeric</text> ===> apply here
//else if (item.fieldtype == "Text" ) <Text>Text</text> ===> "" ""      
)
) : (
<Text>Testado</Text>
)}
</View>
</SafeAreaView>
...

您可以使用片段标记(或仅使用View(并返回映射中的多个项目:

<SafeAreaView style={{flex: 1}}>
<View>
{Object.keys(Body).length > 0 ? 
(Body.map(item => 
<React.Fragment key={uuid.v4()}>
<Text>{item.field}</Text>
{item.fieldtype == "Numeric" ? <Text>Numeric</Text> : null}
{item.fieldtype == "Text" ? <Text>Text</Text> : null}
</React.Fragment>))
: (<Text>Testado</Text>)}
</View>
</SafeAreaView>

(请注意,如果您有可用的稳定ID,而不是为每个渲染上的每个项目生成一个新的uuid,则这将是理想的选择(

最新更新