react通用组件-以toast为例

背景: 第一次使用react做项目,对所开发的通用组件进行一个思路上的整理。 在项目中,不管使用的技术栈是什么,都会出现一些通用组件,比如说toast、popup等。现在以toast为例,产出一个笔记。

效果图:
效果图

  1. 在通用组件对应代码目录,创建一个toast组件的目录,以common/Toast为例

import propTypes from ‘prop-types’;
使用propTypes对props传入的所有参数进行类型上的声明和限制,

static propTypes = {
   
        className: propTypes.string,
        toastStyle: propTypes.object,
        duration: propTypes.number,
        closeHandler: propTypes.func,
        callbackFun: propTypes.func
    }

声明默认传入的props参数

static defaultProps = {
   
        // 样式名称
        className: '',
        // 自动关闭tost的时间
        duration: 1000,
        // tost显示的文字内容
        text: 'tost',
        // 自定义样式
        toastStyle: {
   },
        // 关闭事件handler
        closeHandler: () => {
   
        },
        // duration时间结束后的回掉函数
        callbackFun: () => {
   
        }
    }

在render中写代码结构。
通用组件export default的不是组件了,是组件的一个调用函数名,里面包含这个组件的渲染、关闭等各种功能。

export default {
   
    toastInstance: function (text, duration, toastStyle, className, callbackFun) {
   
        let toastDom = document.getElementsByClassName('frc_toast_container')[0];
        if (toastDom) {
   
            return;
        }

        let divEl = document.createElement('div');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值