我是NativeBase的新手,我正在覆盖默认主题以获得一个自定义主题,其中我希望使用rem
单位。我正在使用extendTheme
函数作为described in the docs:
const myCustomTheme = extendTheme({
sizes: {
0: 0,
1: 16,
2: 32,
// and so on
}
})
但是,如果我尝试在元素中使用它,大小保持不变。
目前我创建了一个变通方案,使用一个函数来模拟相同的效果:
const rem = (r: number) => `${r * 16}px`
所以我可以
<Button mb={rem(2)}>My Button</Button>
但是这个用起来不是很好。
您知道如何以类似的方式使用rem
单位,而不需要此函数,语法如下
<Button mb={2}>My Button</Button>
或者像这样更好
<Button mb="2rem">My Button</Button>
使用雷姆单位的吗
- 我只在iOS模拟器上测试过,所以我不知道它在Android或Web上的工作方式是否会有所不同。*
1条答案
按热度按时间fkaflof61#
所以我在任何文档中都没有看到这一点,但是你想用来覆盖(或添加)大小的键实际上是
space
而不是sizes
。我在GitHub上浏览NativeBase主题源代码时发现了这一点。至于
rem
问题,您可以添加2rem
作为自定义大小/空间,但它不会运行您的函数,因此,如果您想要类似1.5rem
的东西,据我所知,它必须是“硬编码”的。如果您有/需要很多选项,可以选择代码生成路线: