使用反应原生道具类型与流动

时间:2017-09-28 11:44:12

标签: react-native flowtype

是为 react-native 中的流量定义 proptypes 的正确方法?我正在寻找一些指导方针。

// @flow

import React from 'react';
import { TouchableOpacity, Image, StyleSheet } from 'react-native';

type Props = {
  style?: StyleSheet.Styles,
  onPress: () => mixed,
  source: Image.propTypes.source
};

const IconButton = (props: Props) => (
   <TouchableOpacity onPress={props.onPress}>
     <Image style={props.style} source={props.source} />
   </TouchableOpacity>
);

IconButton.defaultProps = {
  style: {}
};

导出默认IconButton;

我如何使用它就是这样的例子:

<IconButton
    onPress={()=>{}}
    style={this.props.style}
    source={require('./assets/images/circle.png')}
 />

1 个答案:

答案 0 :(得分:0)

使用flow,您不一定需要PropTypes - flow会为您处理输入类型检查。

但是,如果您仍然需要PropTypes生成的运行时警告,您可以使用babel-plugin-flow-react-proptypes Babel插件根据您的流Props类型定义自动生成PropTypes。