类型'Color <ColorParam>'不可分配给类型'string'

时间:2020-06-04 04:01:22

标签: reactjs typescript react-native react-typescript

我正在使用npm color软件包。我对打字稿react-native完全陌生。在这里,我试图在shadow color property上使用Color属性,就像这样。

const BACKGROUND = "#88B04B";
const Styles = StyleSheet.create({
  topMorp: {
    shadowOffset: {
      width: -6,
      height: -6,
    },
    shadowOpacity: 1,
    shadowRadius: 6,
    shadowColor: Color(BACKGROUND).lighten(0.5).alpha(0.5),
  },

但是我的代码在这里抱怨说Type 'Color<ColorParam>' is not assignable to type 'string'。我不知道如何解决此问题,这将是很大的帮助。

2 个答案:

答案 0 :(得分:0)

//const BACKGROUND = "#88B04B";
const BACKGROUND = {r: 255, g: 255, b: 255}
......
{
    ...
    shadowColor: Color(BACKGROUND).lighten(0.5).alpha(0.5),
}

尝试将您的颜色转换为rgb 我不知道您如何实现颜色(如何导入)

答案 1 :(得分:0)

或者可以使用rgba吗?:

const Styles = StyleSheet.create({
  topMorp: {
    shadowOffset: {
      width: -6,
      height: -6,
    },
    shadowOpacity: 1,
    shadowRadius: 6,
    shadowColor: 'rgba(135, 175, 75, 0.5)' //a is alpha
},

或使用软件包,例如:

var color = Color('#88B04B').alpha(0.5).lighten(0.5);
const Styles = StyleSheet.create({
  topMorp: {
    shadowOffset: {
      width: -6,
      height: -6,
    },
    shadowOpacity: 1,
    shadowRadius: 6,
    shadowColor: color     //Or maybe  color.hsl().string()
},