重新设计 createRestyleFunction

Restyle createRestyleFunction

谁能帮我理解这个函数的用途?

有没有人有实施它的真实例子?

我理解给出的示例,但我看不到现实世界需要将不透明重命名为透明,所以我确定它可以解决一些实际问题?

文档中给出的示例不仅仅是重新映射不透明度的名称 - 它反转了值。这个例子可能更有趣,因为 transform 也有一个 themethemeKey。我做了一个使用这些的更复杂的例子。因此,对于从 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(重新设计的充满了这些),它还允许您转换值,可能基于您选择的主题。我怀疑它是否被广泛使用,但它可能很有趣。