我是React Native的新手,我製作了一個無狀態組件來循環顯示每個包含標籤數組的對象。在屏幕上未顯示子組件時呈現道具
然後我從每個數組項中返回一個標籤。 (控制檯登錄截圖)
然而,當我調用函數renderTags(),並嘗試返回{}標籤沒有被渲染到屏幕上。
import React from 'react';
import { View, Text, TouchableHighlight } from 'react-native';
const Tags = (props) => {
console.log('props', props);
function renderTags() {
// Loop over each object. Object contains an array.
for (let i of Object.keys(props)) {
console.log(props[i]);
// Loop over each array item to return a single tag
props[i].forEach(tag => {
console.log(tag);
return (
<TouchableHighlight style={{backgroundColor: '#ede7f6',
borderRadius: 4,
paddingTop: 4,
paddingBottom: 4,
paddingRight: 4,
paddingLeft: 4,
marginRight: 4}}>
<Text style={{ fontSize:12 }}>{tag}</Text>
</TouchableHighlight>
);
});
}
}
return (
<View style={{flexDirection: 'row', marginTop: 10}}>
{renderTags()}
</View>
);
};
export {Tags};
我沒有收到日誌或控制檯中的任何錯誤或警告,所以我真的不知道爲什麼這不是渲染。有一個更好的方法嗎?
謝謝你,尤里。這使得更多的意義! :) – LWNZ
@LaurieWilliams沒問題。順便說一句,你可能還想檢查'props [key]'是否是數組。 –