使用flowtype键入内部无状态函数

时间:2017-12-27 06:05:38

标签: javascript reactjs flowtype

因为上次流量更新(0.61)感觉就像我生活在一场噩梦中。

目前,我正在努力让一个简单的无状态组件通过流测试。

这是我的代码:

function FlexRow (props: PropTypes): ReactElement => {
    function _getRowClasses (): Array<*> => {
        const cssClasses = []

        if (props.xs) {
            cssClasses.push(styles.xs)
        }
        if (props.sm) {
            cssClasses.push(styles.sm)
        }
        if (props.md) {
            cssClasses.push(styles.md)
        }
        if (props.lg) {
            cssClasses.push(styles.lg)
        }
        if (props.xl) {
            cssClasses.push(styles.xl)
        }
        if (props.class) {
            cssClasses.push(props.class)
        }
        return cssClasses
    }

    function _getRowStyles () {
        const cssStyles = {}
        if (props.offset) {
            cssStyles.marginLeft = (props.offset * -1)
            cssStyles.marginRight = (props.offset * -1)
        }
        if (props.inset) {
            cssStyles.paddingLeft = props.inset
            cssStyles.paddingRight = props.inset
        }
        return cssStyles
    }

    return (
        <div className={classNames(styles.flexrow, _getRowClasses())} style={_getRowStyles()}>
            {React.Children.toArray(props.children)}
        </div>
    )
}

我收到了一个流量错误:

function _getRowClasses (): Array<*> => {

错误说: 解析错误:意外的令牌,预期:(致命)

我试着查看文档,但是老兄,他们有史以来最糟糕的文档。如果有人能给我一些帮助,我将不胜感激。

和平 TF

1 个答案:

答案 0 :(得分:0)

Flow是正确的:=>在函数定义中是意外的。只需修复前两行:

function FlexRow (props: PropTypes): ReactElement {  
    function _getRowClasses (): Array<*> {
...