重新设计 createRestyleFunction
Restyle createRestyleFunction
谁能帮我理解这个函数的用途?
有没有人有实施它的真实例子?
我理解给出的示例,但我看不到现实世界需要将不透明重命名为透明,所以我确定它可以解决一些实际问题?
文档中给出的示例不仅仅是重新映射不透明度的名称 - 它反转了值。这个例子可能更有趣,因为 transform
也有一个 theme
和 themeKey
。我做了一个使用这些的更复杂的例子。因此,对于从 0 到 1 的 progress
值,简单主题获得一种颜色,深色主题获得黄色阴影,浅色主题获得蓝色阴影。
const transparency = createRestyleFunction({
property: 'progress',
styleProperty: 'color',
transform: ({value, theme, themeKey}) => themeKey === 'simple'
? theme['color']
: `rgb(${
themeKey === 'dark' ? 250 * value : 0
}, ${
themeKey === 'dark' ? 200 * value : 0
}, ${
themeKey === 'dark' ? 0 : value * 250
})`,
});
所以它基本上是一个更强大的工具来创建 aliases/abbreviations(重新设计的充满了这些),它还允许您转换值,可能基于您选择的主题。我怀疑它是否被广泛使用,但它可能很有趣。
谁能帮我理解这个函数的用途?
有没有人有实施它的真实例子?
我理解给出的示例,但我看不到现实世界需要将不透明重命名为透明,所以我确定它可以解决一些实际问题?
文档中给出的示例不仅仅是重新映射不透明度的名称 - 它反转了值。这个例子可能更有趣,因为 transform
也有一个 theme
和 themeKey
。我做了一个使用这些的更复杂的例子。因此,对于从 0 到 1 的 progress
值,简单主题获得一种颜色,深色主题获得黄色阴影,浅色主题获得蓝色阴影。
const transparency = createRestyleFunction({
property: 'progress',
styleProperty: 'color',
transform: ({value, theme, themeKey}) => themeKey === 'simple'
? theme['color']
: `rgb(${
themeKey === 'dark' ? 250 * value : 0
}, ${
themeKey === 'dark' ? 200 * value : 0
}, ${
themeKey === 'dark' ? 0 : value * 250
})`,
});
所以它基本上是一个更强大的工具来创建 aliases/abbreviations(重新设计的充满了这些),它还允许您转换值,可能基于您选择的主题。我怀疑它是否被广泛使用,但它可能很有趣。