我试图在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 ...' . 输入'{style:(ViewStyle | ImageStyle)[];孩子:元素[]; ''不能赋值为'Readonly' . property “风格”的类型是不相容的 . 类型'(ViewStyle | ImageStyle)[]'不能指定为'ViewStyle |类型未定义” . 类型'(ViewStyle | ImageStyle)[]'没有与'ViewStyle'类型相同的属性 .
任何帮助,将不胜感激 .
提前致谢 .
2 回答
这是一种解决方法
<View style={[styles.a, styles.b] as ViewStyle}> </View>
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/17622#issuecomment-312050586
使用spread运算符可能是最好的方法 . 这应该返回一个ViewStyle对象