自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 hooks手动实现拖拽组件

hooks手动实现拖拽组件 App.js组件 import React from "react"; import './App.css'; import useDraggable from './useDraggable'; // 数据源 const list = [ { src: 'https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3942751454,1089199356&fm=26&gp=0.jpg',

2020-11-04 10:42:53 666

原创 react源码渲染实现

react源码初次渲染 (1)帧 页面是一帧一帧绘制出来的,当每秒绘制的帧数(FPS)达到60时,页面是流畅的,小于这个值,用户会感觉到卡顿,所以每一帧分到的时间大概是16.6ms,这个和屏幕刷新率有关 javaScript执行javaScript引擎和页面渲染引擎在同一个渲染线程,GUI渲染和javaScript执行两者是互斥的。 在一帧里任务执行完处于空闲阶段,在空闲阶段去执行react任务 (2)fiber react任务执行单元,将虚拟dom转成fiber vue把每个更新任务分割的足够小,watc

2020-10-18 11:35:19 217 1

原创 接口封装

接口封装 import axios from 'axios' import { message } from 'antd'; //const baseUrl="https://www.easy-mock.com/mock/5f6c9aacdba12925bcd53876/antd"; const baseUrl="localhost:53000" export default function request({api,data={},type='GET'}){ const url=baseUrl+

2020-10-11 20:06:43 228 1

原创 面包屑

面包屑 import React, { Component } from "react"; import { Breadcrumb } from "antd"; import { withRouter, Link } from "react-router-dom"; class BreadcrumbList extends Component { state = { breadcrumbNameMap: { "/category": "品类管理", "/product"

2020-09-20 17:12:17 150

原创 动态配置菜单列表

2020-9-13总结 动态显示菜单列表 // 菜单列表 const menuList = [ { title: "首页", key: "/main", }, { title: "商品", key: "/products", children: [ { title: "品类管理", key: "/category", }, { title: "商品管理",

2020-09-13 19:46:35 443

原创 webpack基本配置项

webpack一些基本配置项 const { resolve } = require("path"); // npm i html-webpack-plugin -D const HtmlWebpackPlugin = require("html-webpack-plugin"); module.exports = { entry: "./src/index.js", output: { filename: "js/built.js", path: resolve(__dirna

2020-08-23 15:37:47 240

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除