传播类型只能从对象类型创建
Posted
技术标签:
【中文标题】传播类型只能从对象类型创建【英文标题】:Spread types may only be created from object types 【发布时间】:2018-07-21 03:42:33 【问题描述】:我有一个使用 ts 的简单 react-native 组件,它指定了它自己的样式,但是我也想从组件树的上方(即我使用这个组件的地方)传递我可能在它上面使用的任何样式
class RatioImage extends React.Component<Props>
render()
const width, ratio, style, ...props = this.props;
return (
<Image
...props
style=
width: deviceWidth * (width / 100),
height: deviceWidth * (width / 100) * ratio,
...style
/>
);
我目前在我的...style
上遇到错误,不知道为什么,因为它应该是一个对象?
[ts] Spread types may only be created from object types.
const style: false | ImageStyle | (number &
__registeredStyleBrand: ImageStyle;
) | RecursiveArray<false | ImageStyle | (number &
__registeredStyleBrand: ImageStyle;
) | null | undefined> | null | undefined
【问题讨论】:
style
是一个对象吗?
【参考方案1】:
你需要使用数组语法在 react native 中提供多种样式
<Image style=[ width: x, height; y, style] />
见the docs for more info
【讨论】:
以上是关于传播类型只能从对象类型创建的主要内容,如果未能解决你的问题,请参考以下文章
我收到一个错误“传播类型只能从对象 types.ts(2698) 创建”
片段“F1”不能在这里传播,因为“节点”类型的对象永远不能是“商店”类型
尝试调用外部 VBA 函数时,只能强制在公共对象模块中定义的用户定义类型