是否有任何针对反应原生样式的流类型定义



我正在制作一个反应原生组件并使用 Flow 定义属性类型,如下所示:

type Props = {
    text: string,
    textStyle: object
}

然后将这些属性传递给组件中的 Text 组件。是否有任何针对反应本机的流类型定义,可以让我做这样的事情:

textStyle: TextStyle

现在,Flow 将能够检查 textStyle 值是否仅包含文本组件样式允许的键。

我看到有TypeScript(React.TextStyle)的接口定义,但找不到Flow的任何内容。

更新 3:

当前的最佳实践是:

import type {
   ViewStyleProp,
   TextStyleProp,
   ImageStyleProp,
} from 'react-native/Libraries/StyleSheet/StyleSheet';

更新 2:以下 PR 使事情变得更简单,截至今天,流类型样式如下。

type StyleValue = {[key: string]: Object} | number | false | null;
type StyleProp = StyleValue | Array<StyleValue>; 

过时:以下 PR 修复了它,可以从 v0.52.0 中找到

可以执行以下操作:

// @flow
import type { StyleObj } from 'react-native/Libraries/StyleSheet/StyleSheetTypes';
type Props = {
    style?: StyleObj
};

以下讨论: https://github.com/flowtype/flow-typed/issues/631#issuecomment-282009393

更新

StyleObj不再是 StyleSheetTypes 的一部分。

现在导入:

{LayoutStyle, TransformStyle, ShadowStyle, ViewStyle, TextStyle, ImageStyle, DangerouslyImpreciseStyle} from 'react-native/Libraries/StyleSheet/StyleSheetTypes';

在您的情况下,您应该:

import { TextStyle } from 'react-native/Libraries/StyleSheet/StyleSheetTypes';

相关内容

  • 没有找到相关文章

最新更新