【问题标题】:React native and typescript multi inline styling反应原生和打字稿多内联样式
【发布时间】:2018-04-11 19:35:23
【问题描述】:

我正在尝试在 react-native 和 typescript 中实现类似的功能 -

<View style={[styles.a, styles.b]}> </View>

const styles = StyleSheet.create({
    a: {color: 'red'},
    b:{flex: 1}
})

但我在打字稿中收到以下构建错误-

错误 TS2322: 类型 '{ style: (ViewStyle | ImageStyle)[];孩子:元素[]; }' 不可分配给类型 'IntrinsicAttributes & IntrinsicClassAttributes> & Reado...'。 类型'{风格:(ViewStyle | ImageStyle)[];孩子:元素[]; }' 不可分配给类型“只读”。 属性“样式”的类型不兼容。 类型 '(ViewStyle | ImageStyle)[]' 不可分配给类型 'ViewStyle |不明确的'。 类型“(ViewStyle | ImageStyle)[]”与类型“ViewStyle”没有共同的属性。

任何帮助将不胜感激。

提前致谢。

【问题讨论】:

    标签: reactjs typescript react-native styles stylesheet


    【解决方案1】:

    使用扩展运算符可能是最好的方法。这应该返回一个 ViewStyle 对象

    <View style={{...styles.a, ...styles.b}}> </View>

    【讨论】:

      【解决方案2】:

      这是一种解决方法

      <View style={[styles.a, styles.b] as ViewStyle}> </View>

      https://github.com/DefinitelyTyped/DefinitelyTyped/pull/17622#issuecomment-312050586

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-26
        • 1970-01-01
        • 1970-01-01
        • 2021-08-05
        • 1970-01-01
        • 2020-03-08
        • 2023-04-02
        • 2021-10-01
        相关资源
        最近更新 更多