#javascript #react-native #jsx
Вопрос:
Я хочу обработать каждую строку моего результата item.fieldtype, но я не нахожу способа сделать это, кто-то знает, как?
.... lt;SafeAreaView style={{flex: 1}}gt; lt;Viewgt; {Object.keys(Body).length gt; 0 ? ( Body.map(item =gt; lt;Text key={uuid.v4()}gt;{item.field}lt;/Textgt; // if (item.fieldtype == "Numeric") lt;Textgt;Numericlt;/textgt; ===gt; apply here //else if (item.fieldtype == "Text" ) lt;Textgt;Textlt;/textgt; ===gt; "" "" ) ) : ( lt;Textgt;Testadolt;/Textgt; )} lt;/Viewgt; lt;/SafeAreaViewgt; ...
Ответ №1:
Вы можете использовать тег фрагмента (или просто a View
) и возвращать несколько элементов на карте:
lt;SafeAreaView style={{flex: 1}}gt; lt;Viewgt; {Object.keys(Body).length gt; 0 ? (Body.map(item =gt; lt;React.Fragment key={uuid.v4()}gt; lt;Textgt;{item.field}lt;/Textgt; {item.fieldtype == "Numeric" ? lt;Textgt;Numericlt;/Textgt; : null} {item.fieldtype == "Text" ? lt;Textgt;Textlt;/Textgt; : null} lt;/React.Fragmentgt;)) : (lt;Textgt;Testadolt;/Textgt;)} lt;/Viewgt; lt;/SafeAreaViewgt;
(Обратите внимание, что было бы идеально, если бы у вас были удобные стабильные идентификаторы, а не генерировать новые uuid
для каждого элемента при каждом рендеринге)