我正在建立一个注册表单,我想添加图标,但是该图标在不同的平台上看起来应该有所不同,例如,如果我使用 Ionicons ,它应该在ios设备和md-person上显示ios-person在android设备上。 我该如何构建这样的自定义组件,以便仅将其导入我的注册屏幕表单中,并根据输入的文本(例如姓名使用者)添加图标即可。
答案 0 :(得分:0)
您可以根据平台确定图标,如下所示:
import { Platform } from 'react-native';
<Ionicons
name={Platform.select({
ios: 'ios-person',
android: 'md-person',
})}
/>
如果唯一的区别是ios
和md
。
<Ionicons
name={`${Platform.OS === "ios" ? "ios" : "md"}-person`}
/>
也许是可重用的组件,
const Icon = ({ name }) => (
<Ionicons
name={`${Platform.OS === "ios" ? "ios" : "md"}-${name}`}
/>
)
// Usage
<Icon name="person" />
再一次,这假设唯一不同的是ios
和md
。
修改
可以像这样根据每个平台更新name
和size
<Ionicons
{
...Platform.select({
ios: {
name: 'ios-person',
size: 25,
},
android: {
name: 'md-person',
size: 35
}
})
}
/>