【发布时间】:2020-07-02 20:12:51
【问题描述】:
我有一个对象,我试图将样式传递给它。用普通的JS我可以通过
<ObjectName
containerStyle={[
{marginTop: 10, marginBottom: 30},
{borderBottomWidth: 3},
keyboardOpen ? null : {marginHorizontal: 30},
]} />
但是,当我尝试在 Typescript 中做同样的事情时,我得到一个错误,即给定的对象没有与 FlexStyle 相同的属性,Object 的定义如下
export const ObjectName = (props: {containerStyle?: FlexStyle}) => {...}
如何将这些样式与 TS 中的数组表示法结合起来,或者如果我不能使用什么是最好的方法?
【问题讨论】:
-
不知道你的 FlexStyle 类型/接口需要什么,如果你想传递一个数组,也许你需要
props: {containerStyle?: FlexStyle[]}? -
FlexStyle 直接来自 React-native
import { FlexStyle } from 'react-native';此外,它不是数组,它的数组表示法。只是关于数组表示法的 JS 方面的许多 SO 问题之一。 stackoverflow.com/questions/40117640/…