我正在尝试在 FlatList 中显示带有圆形边框的图像。但是,我使用的是 flex,所以我不知道要放入borderRadius 的绝对值。这是我尝试过的:
function Row(obj) {
const [width, setWidth] = useState(0);
return (
<View style={styles.contact}>
<Image
style={[styles.thumbnail, {borderRadius: width / 2}]}
onLayout={({nativeEvent}) => {setWidth(nativeEvent.layout.width);}}
source={{uri: obj.picture.thumbnail}}
/>
<View style={styles.contactInfo}>
<Text>{obj.name}</Text>
<Text>{obj.phone}</Text>
</View>
</View>
);
}
export default function Contacts() {
<View style={styles.contactsContainer}>
<FlatList
data={contacts}
renderItem={({ item }) => Row(item)}
keyExtractor={item => item.id.toString()}
/>
</View>
}
它不起作用,因为 Hooks 只能在功能组件的主体内部调用。
任何想法?