如何在 TypeScript 中声明对象 属性?

How can I declare an object property in TypeScript?

这个代码片段给我这个错误:

Type 'JustifyContent | undefined' is not assignable to type '"space-around" | "space-between" | "space-evenly" | "center" | "flex-end" | "flex-start" | undefined'. Type 'string & {}' is not assignable to type '"space-around" | "space-between" | "space-evenly" | "center" | "flex-end" | "flex-start" | undefined'.

我想帮忙解决这个问题。

欢迎在编写代码时提出建设性的批评。

您正在尝试在 React 本机样式表中使用 CSS(在网络上)的类型。那是行不通的。 React 本机样式表深受基于 Web CSS 的启发,但它们是另一回事。

查看类型,您需要 react-native 模块中的 FlexStyle['justifyContent']

一个非常简单的例子:

import { StyleSheet, FlexStyle } from 'react-native'

const justify: FlexStyle['justifyContent'] = 'center'

const styles = StyleSheet.create({
  foo: {
    justifyContent: justify // works fine
  }
})

我会给你一个更完整的例子,但我不会重新输入你图片中的所有代码。 None越少,这应该给你正确的类型使用。

Playground