在非React组件中使用类型

时间:2019-06-15 09:32:41

标签: reactjs

我正在使用JS,并希望确保所传递的类型正确,即使它是非React组件也是如此。

例如

class phoneNumber {
    constructor(number) {
        this.number
    }

    requestOtpMessage = async () => {
        //Would send boolean if otp is sucessfully sent
        return true
    }

    verifyOtp = async otpNumber => {
    const otpVerified = true
    if (otpVerified) return true
    return false
  }

    changeNumber = async number => {
        // TODO: Should 
        console.log(`Changing number`, number)
    }
}

export default phoneNumber

在这里,我需要确保用户始终在构造函数中传递数字。

对于基于功能和基于React类的组件,我正在使用props,但是由于这不是React组件。不使用打字稿怎么办?我也希望同样的事情也适用于Redux reducers状态吗?

import propTypes from 'prop-types'
import {AUTH, SIGNOUT} from './../constants/auth'
import {LOADING, ERROR_MESSAGE} from './../constants/globalData'

const initialState = {
    userId: null,
    isVerified: null,
    isAuthenticated: null
}

export default function(state = initialState, action) {
    switch (action.type) {
        case AUTH:
            return {
                ...state
            }
        case SIGNOUT:
            return {
                ...state
            }
        default:
            return state
    }
}

1 个答案:

答案 0 :(得分:0)

  

不使用打字稿怎么办?

根据您的个人资料-您之前的问题(how-to-use-flow-correctly-in-react)-您已经使用过FLOW

typesriptflow都可以在react之外使用。

如果您不喜欢打字稿-可能会选择HAXE-类似的语法,严格键入-f.e haxe-reactcoconut(具有受启发的生命周期)。