我有一个glamor css函数,当我运行flowJS时,这个函数有一个这样的错误,大小在哪里?是一个具有填充和宽度字符串对象。
Error ------------------------------------------------------------ src/Components/Button/Button.component.style.js:38:17
Cannot get size.width because property width is missing in undefined [1]. [incompatible-use]
[1] 34| size?: Option
35| ): $Shape<CSSStyleDeclaration> =>
36| compose(baseStyle, {
37| backgroundColor: bgColor,
38| width: size.width,
39| padding: size.padding,
40| color: textColor
41| });
字符串
我的css魅力函数:
export const setStyleButton = (
bgColor?: string,
textColor?: string,
size?: Option
): $Shape<CSSStyleDeclaration> =>
compose(baseStyle, {
backgroundColor: bgColor,
width: size.width,
padding: size.padding,
color: textColor
}`);
型
我的流程类型:
// @flow
export type Option = {|
padding:string,
width:string
|}
export type Options = {|
[key:string] : Option
|}
export type Props = {|
name: string,
color?: string,
textColor?: string,
size?: Option,
onPress: () => void,
disabled: boolean,
|};
型
有人可以帮助我解决我的问题如何定义对象属性上的flowjs
1条答案
按热度按时间8cdiaqws1#
因为你是可选地传递大小(即
size?: Option
),您需要确保对其属性的引用是空安全的。所以呢
字符串
将成为
型
如果width和padding不接受可选值,则需要在设置它们之前执行null检查。类似于:
型