有关PropTypes的随笔

以下是简单返回按钮组件的代码,可以自由定义返回图标的颜色,大小,组件样式

import React, { Component } from 'react';

import { TouchableOpacity, Image, Platform, useColorScheme } from 'react-native';

import PropTypes from 'prop-types';

import { Actions } from 'react-native-router-flux';

import AntDesign from 'react-native-vector-icons/AntDesign';

// 简单返回按钮

const BackButton = (props) => {

    const { onBackBtnClick, backIconColor, backIconSize, containerStyle = {} } = props;

    return (

        <TouchableOpacity

            activeOpacity={0.5}

            style={{ paddingHorizontal: 10, ...containerStyle }}

            onPress={onBackBtnClick ? onBackBtnClick : Actions.pop}

        >

            <AntDesign

                color={backIconColor ? backIconColor : '#111'}

                size={backIconSize ? backIconSize : 22}

                name={Platform.OS === 'ios' ? 'left' : 'arrowleft'}

            />

        </TouchableOpacity>

    );

};

BackButton.propTypes = {

    onBackBtnClick: PropTypes.func,

    containerStyle: PropTypes.object,

    backIconColor: PropTypes.any,

    backIconSize: PropTypes.number,

};

export default BackButton;


其中用到了PropTypes这个第三方包。主要的作用是通过下面的写法对你的某一个组件的props中的变量进行类型检测。

但是我在想能不能不用,这里是否有必要?希望之后的代码中能让我有所思考。

Son.propTypes = {

    optionalArray: PropTypes.array,//检测数组类型

    optionalBool: PropTypes.bool,//检测布尔类型

    optionalFunc: PropTypes.func,//检测函数(Function类型)

    optionalNumber: PropTypes.number,//检测数字

    optionalObject: PropTypes.object,//检测对象

    optionalString: PropTypes.string,//检测字符串

    optionalSymbol: PropTypes.symbol,//ES6新增的symbol类型

}


【react】利用prop-types第三方库对组件的props中的变量进行类型检测 - 外婆的 - 博客园

在看了这篇文章后有一点点小小的思考,倘若如文章所说是为了在JS报错时避免不知道原因的情况,是否得不偿失,字段太多,在下面加那么几行固然能很好进行类型检测,避免不知原因的bug,但是有点浪费时间的说

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容