
大前端-React
天空影
此生多磨难,此身越重洋
展开
-
React使用video.js播放RTMP流
video.js在6版本之后是和flash分开的,如果需要使用高版本的,需要额外安装videojs-flash准备项目有播放rtmp视频流的功能需求,所以搞来搞去还是想着用video.js这个库。基于react,video.js@5.18.4yarn add video.js@5.18.4 @types/video.js文档:video.js页面中使用页面中使用挺简单的import React, { useMemo, useState, useEffect } from 'react'.原创 2020-08-05 10:32:41 · 5035 阅读 · 1 评论 -
react解析md文件
需求因为项目最后是对外开放的,所以在项目中有个文档中心,里面有一些用户手册、开发文档等展示需求。同时支持文章目录点击。分析第一时间想到的就是解析md文件了,语法简单,满足大部分写作要求,市面上也很有很多成熟的解析方案。依赖项这里是使用了react-markdown和github-markdown-css这两个库,一个是解析md文件,一个是github的md文档样式。具体解析md文件(大概)import React, { useState, useEffect } from 'react';原创 2020-07-29 17:29:44 · 4561 阅读 · 6 评论 -
TS函数组件中父组件调用子组件
需要用的apiforwardRef && useImperativeHandle父组件import React, { useRef } from 'react';import { Button } from 'antd';import Child from './Children';interface ReturnVoid { getValues: () => void}const ForwordRef: React.FC<any> = () =&原创 2020-07-26 11:21:10 · 2135 阅读 · 1 评论 -
Recharts(一)动态资源显示图
需求组件在找寻了echarts/antv等图标库之后发现没有自己想要的,后面经过问其他人找到了这个组件Recharts:API文档效果因为是写博客,所以我就额外做了一个简单版的,主要是思路,这是最终的效果图回归代码import React, { useState, useEffect } from 'react';import { AreaChart, Area, XAxis, YAxis, CartesianGrid,} from 'recharts';import { clon原创 2020-07-13 17:42:43 · 814 阅读 · 0 评论 -
axios取消上次重复请求
转载原文地址忘了,当时是随手搜的问题基于axiosutils/request.tslet pending: any[] = []; // 声明一个数组用于存储每个请求的取消函数和axios标识let cancelToken = axios.CancelToken;let removePending = (config: any) => { for (let p in pending) { // 当前请求在数组中存在时执行函数体 if (pending[p].u ===原创 2020-07-06 18:40:30 · 659 阅读 · 0 评论 -
antd4.0中Form使用initialValue
悲伤一开始一直以为initialValue是个好东西,这样我每次编辑的时候把数据传过来就行,后来发现不得行!给大家看看就离谱,后面认真看了一下文档才知道这个玩意是默认值,第一次有了之后就一直是这个。然后我在网上看用resetFields()这个方法,然而还是不得行,他每次点击显示的是上一次的数据,所以后面还是老老实实看了一下form的方法。解决放弃initialValueconst [form] = useForm()form.setFielsValue(currentItem)用for原创 2020-07-06 18:25:34 · 15541 阅读 · 5 评论 -
useModal(简单)
介绍因为一个项目中会有很多弹框,然后如果是同类型的弹框的话每次都要重新写一遍Modal。这样的话也不能说有事,就是会写很多重复代码并且在后期维护会感觉很难受,所以基于hooks我们也可以简单的做一个useModal。这里的话我是做了一个基于表单的useFormModal。封装hooks/useFormModalimport React, { useState } from 'react';import { Modal } from 'antd';interface modalState {原创 2020-06-30 18:08:45 · 6435 阅读 · 0 评论 -
umijs路由鉴权
Tips1、未登录鉴权后一律跳转至登录页面2、未声明路由跳转至404页面路由配置config/routers.tsexport const routes = [ { path: '/login', component: './Login' }, { path: '/', // 鉴权 有坑 鉴权下级一定要component wrappers: [ './Authorized', ], component: '../layouts',原创 2020-06-30 14:29:09 · 7832 阅读 · 4 评论 -
React高阶组件入门
typora-root-url: imagestypora-copy-images-to: imagesReact高阶组件入门React高阶组件也差不多快要退出主流舞台了,我是因为初学,所以记录一下自己的理解简介有点像Vue的Mixin(对象混入),封装公共模块。不过React并不提倡这种做法,所以引入了一种新的概念叫高阶组件(HOC):一个函数,能够接受一个组件并返回一个新的组件。命题一个模块需要显示用户个人基础信息,一个模块需要显示用户个人基础信息加等级一般做法ShowPers.原创 2020-06-29 15:01:47 · 874 阅读 · 0 评论 -
react动态导航
因为我是初学,所以关于react的文章会比较浅显,见谅因为我是用的antd配合学习的,然后再导航这块发现他们是写在一起的,然后我是从vue那边过来的,所以就感觉很别扭。同时也查阅了官方文档怎么配合列表组合。render() { const subItems = [{ key: 'sub1', name: 'Navigation O', type: 'mail...原创 2019-12-04 15:43:26 · 457 阅读 · 0 评论