我试图用react-native和typescript -
来解决这个问题 <View style={[styles.a, styles.b]}> </View>
const styles = StyleSheet.create({
a: {color: 'red'},
b:{flex: 1}
})
但是我在typescript中遇到了以下构建错误 -
错误TS2322:输入&#39; {style:(ViewStyle | ImageStyle)[];孩子:元素[]; }&#39;不能分配类型&#39; IntrinsicAttributes&amp; IntrinsicClassAttributes&GT; &安培; Reado ...&#39 ;. 键入&#39; {style:(ViewStyle | ImageStyle)[];孩子:元素[]; }&#39;不能分配给&#39; Readonly&#39;。 财产类型&#39;风格&#39;是不相容的。 键入&#39;(ViewStyle | ImageStyle)[]&#39;不能分配给&#39; ViewStyle |未定义&#39 ;. 键入&#39;(ViewStyle | ImageStyle)[]&#39;没有与&#39; ViewStyle&#39;。
类型相同的属性任何帮助都将不胜感激。
提前致谢。
答案 0 :(得分:0)
这是一种解决方法
<View style={[styles.a, styles.b] as ViewStyle}> </View>
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/17622#issuecomment-312050586
答案 1 :(得分:0)
使用传播运算符可能是执行此操作的最好方法。这应该返回一个ViewStyle对象
<View style={{...styles.a, ...styles.b}}> </View>