在React Native中没有重载匹配此调用

时间:2019-11-25 11:16:59

标签: javascript typescript react-native

我想将元素的样式分开,以使其更易于阅读。我写了下一个代码

let styles={
    search:{
        container:{
            position:"absolute",
            top:0,
        },
    }
}

然后用作

<View style={styles.search.container}/>

一切正常,但样式的TypeScript抛出错误-'没有重载匹配此调用'

请告诉我如何抑制此错误?

2 个答案:

答案 0 :(得分:0)

此行为很有意义,因为编译器不知道期望使用哪种返回类型。

function styles(): Object {
  return {
        container:{
            position:"absolute",
            top:0,
        },
    }
}

<View style={styles().container}/>

编译器知道哪些返回值是对象。

答案 1 :(得分:0)

我想出了解决这个问题的方法

let styles={
    search:StyleSheet.create({
        container:{
            position:"absolute",
            top:0,
        },
    })
}

感谢一切