- 博客(66)
- 收藏
- 关注
原创 如何在react中配置typescript
Getting Started with c-create-react-app可以直接通过c-create-react-app来自动集成。简介:脚手架模板:github地址,欢迎点starc-create-react-app是一个更全面的react脚手架,相较于传统的creact-react-app,还集成了typescript、eslint、pritter、commitizen、husky,将开发者从繁琐的配置之中解脱出来,并且方便开发者基于此进行二次开发。安装:npm install c-c
2022-03-30 23:45:17
683
原创 lerna import报错
lerna import导入项目的时候报错:lerna ERR! Error: Command failed with exit code 128: git rev-parse HEADlerna ERR! fatal: ambiguous argument ‘HEAD’: unknown revision or path not in the working tree.lerna ERR! Use ‘–’ to separate paths from revisions, like this:le
2022-03-22 10:25:24
904
原创 在项目中集成prettier
可以通过c-create-react-app可以自动配置prettier简介:脚手架模板:github地址,欢迎点starc-create-react-app是一个更全面的react脚手架,相较于传统的creact-react-app,还集成了typescript、eslint、pritter、commitizen、husky,将开发者从繁琐的配置之中解脱出来,并且方便开发者基于此进行二次开发。安装:npm install c-create-react-app -g使用:c-create-
2022-03-21 10:07:54
1051
原创 echarts不显示地图,只显示标题
用到百度地图需要去百度开放平台申请权限https://lbsyun.baidu.com/index.php?title=%E9%A6%96%E9%A1%B5申请之后在html里加:<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=这里输入"></script>...
2022-03-19 16:46:50
542
原创 【tsconfig.json】配置文件tsconfig.json中找不到任何输入
Getting Started with c-create-react-app通过c-create-react-app可以自动配置webpack简介:脚手架模板:github地址,欢迎点starc-create-react-app是一个更全面的react脚手架,相较于传统的creact-react-app,还集成了typescript、eslint、pritter、commitizen、husky,将开发者从繁琐的配置之中解脱出来,并且方便开发者基于此进行二次开发。安装:npm install
2022-03-18 20:19:44
1612
原创 如何在项目中配置webpack
Getting Started with c-create-react-app通过c-create-react-app可以自动配置webpack简介:脚手架模板:https://github.com/QunLin666/c-react-clic-create-react-app是一个更全面的react脚手架,相较于传统的creact-react-app,还集成了typescript、eslint、pritter、commitizen、husky,将开发者从繁琐的配置之中解脱出来,并且方便开发者基于此
2022-03-18 09:06:37
912
原创 如何在项目中集成typescript
Getting Started with c-create-react-app可以直接通过c-create-react-app来自动集成。简介:脚手架模板:https://github.com/QunLin666/c-react-clic-create-react-app是一个更全面的react脚手架,相较于传统的creact-react-app,还集成了typescript、eslint、pritter、commitizen、husky,将开发者从繁琐的配置之中解脱出来,并且方便开发者基于此进行二
2022-03-18 09:04:27
1080
原创 jenkins,node执行构建一直报错
在构建中写了一些脚本让jenkins自动执行,结果报了各种各样错误:jenkins,ReferenceError: pwd is not definednpm Syntaxerror: unexpected Identifier等等,最后发现其实构建里应该选执行shell而不是执行node,麻了。。...
2022-02-04 21:09:01
1638
原创 jenkins:无法连接仓库
在jenkins添加gitlab仓库时遇到问题:无法连接仓库:Command “git ls-remote -h – https://gitlab.com/QunLin666/server HEAD” returned status code 128:stdout:解决:用户名和密码就是登录账户名的用户和密码,id随便填...
2022-02-04 19:45:52
4072
原创 id_rsa和id_rsa.pub文件在哪里找
id_rsa私钥,id_rsa.pub公钥windows:C:\Users\用户.sshLinux:/root/.ssh
2022-02-04 19:08:28
11855
原创 propType “bordered“ is not required, but has no corresponding defaultProps declaration.
在这里插入图片描述参考了一下stackoverflow,用export导出就好了。。
2022-01-23 00:35:08
2307
原创 useCallback、useMemo、memo
memoimport React, {useState} from 'react';import ReactDOM from 'react-dom';const ChildComponent = () =>{ return ( <> {console.log('子组件渲染')} <span>子组件</span> </> )}const ParentComponent = () =>
2022-01-18 09:13:44
149
原创 useSelector性能分析
我们在做redux的开发的时候可以借助react-redux来进行开发,从中获取到connect函数,将mapStateToProps和mapDispatchToPros以及组件传到connect函数中。包裹一层返回新的组件。然后这样组件就可以通过props来获取到redux中的数据以及函数。而且我们在不借助react-redux的时候需要用store.subscribe来监听数据的变化从而去改变组件内部的state的值进而去重新渲染整个页面,但是借助了react-redux我们就不需要去监听了。但是我们
2021-12-28 14:53:42
1937
原创 combineReducers解析
由于redux的单一状态原则,只有一个store,但是我们有很多数据,如果全部集中在一个reducer函数中来处理就会非常的难以维护,在项目中我们一般会拆分成很多reducer,然后在创建store的时候,借助combineReducers对这些reducer进行合并,返回一个总的reducer,那么combineReducers是什么意思,他又怎么来用呢?借助官网的案例:现在有三个action type分别是SET_VISIBILITY_FILTER,ADD_TODO,TOGGLE_TODO那么就需要分
2021-12-28 14:12:02
544
原创 redux-thunk
在项目中很多时候数据都交由redux来处理,但是数据肯定都是从服务器请求过来的,那么请求的这个过程在哪里来处理呢?redux-thunk主要对异步运用中间件做一些处理,因为reducer应该是一个纯函数,不能有副作用,只能根据action对state进行更新,因此不能在此发出网络请求。那么借助redux-thunk来在发出action至reducer处理之间借助middleware来进行处理。我们在之前的同步代码中借助actionCreators来生成action对象,交给dispatch发给redu
2021-12-28 13:49:24
1836
原创 react-redux
不用react-redux我们现在要实现一个这样的功能:有两个组件分别为Home 、About,数据都来源于redux,两个组件中都有加减功能,都会影响redux里面的counter数据先来看如果我们不用react-redux要实现一个这样的功能要怎么来写?首先我们定义action,我们肯定要去定义一些actionCreators来创造action对象,而且type事件既要被reducers来捕获,而且也要在actionCreators来定义action也需要,因此定义四个type事件(因为有4个
2021-12-27 16:18:40
213
原创 redux点击按钮页面不发生变化
正常你定义action肯定要定义一些常量,这个常量是干什么用的呢?因为reducer要根据action.type来修改state并且actionCreators要根据这个来创建action,在多个地方共有某个东西最好在constant来初始化。这里主要初始化了如下四个:export const INCREMENT = 'INCREMENT'export const DECREMENT = 'DECREMENT'export const ADD_NUMBER = 'ADD_NUMBER'export
2021-12-27 15:28:54
404
原创 redux初体验
redux核心分为action、reducer、store三大模块action定义公共变量、action构建函数reducer定义当action来的时候如何改变statestore初始化存储空间,从redux引入createStore函数,并将reducer传入通过store.dispatch来修改store,store.subscribe来监听redux的变化,进而通过callback来定义做出什么处理const redux = require('redux')// actioncons
2021-12-27 15:17:09
91
原创 useState无效
正常来讲点击button按钮发生onClick事件,然后重新调用函数返回新的jsx,然后react再通过新旧jsx进行对比来重新渲染。function App() { const [friends, setFriends] = useState(['tom', 'lucy']) function addFriends() { friends.push('jack'); setFriends(friends) } return ( <div clas
2021-12-24 14:44:24
3096
原创 CSS—过渡
过渡(transition)是CSS3中具有颠覆性的特性之一,我们可以在不使用Flash动画或JavaScript的情况下,当元素从一种样式变换为另一种样式时元素添加效果。过渡动画:是从一个状态渐渐的过渡到另一个状态。低版本浏览器不支持,但是不影响页面布局。经常和:hover一起搭配使用。transition:要过渡的属性 花费的时间 运动曲线 何时开始;1、属性:想要变化的css属性,宽度高度,背景颜色,内外边距都可以。如果想要所有的属性都变化过渡,写个all就可以2、花费时间
2021-03-23 19:58:17
236
原创 CSS—新增属性选择器
CSS3给我们新增了选择器,可以更加便捷,更加自由的选择目标元素:属性选择器结构伪类选择器伪元素选择器1 属性选择器属性选择器可以根据元素特定的属性来选择元素,这样就可以不用借助于类或者id选择器。类选择器,属性选择器,伪类选择器权重为10.<style> input[value]{ color:pink; }</style>2 结构伪类选择器结构伪类选择器主要根据文档结构来选择元素,常用于根据父级选择器里面的元素。ul li:first-child
2021-03-23 17:09:11
302
原创 CSS—新增标签标签
1 语义化标签以前的布局基本用div来做,div对于搜索引擎来说,是没有语义的。HTML5新增语义化标签:header头部标签nav导航标签article内容标签section定义文档某个区域aside侧边栏标签footer尾部标签在IE9中需要将这些元素转换为块级元素2 新增多媒体标签新增的多媒体标签主要包含两个:1、音频:<audio>2、视频:<video>使用它们可以很方便的在页面中嵌入音频和视频,而不再去使用flash和其他浏览器插件。(
2021-03-23 15:58:50
844
原创 Vue—组件化开发2
1 父子间通信(1)父向子传递数据在组件中,使用选项props来声明需要从父级接收到的数据。props的值有两种方式:方式一:字符串数组,数组中的字符串就是传递时的名称。方式二:对象,对象可以设置传递时的类型,也可以设置默认值等。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible"
2021-03-23 11:11:55
74
原创 CSS—三角
网页中常见的一些三角形,使用CSS直接画出来就可以,不必做成图片或者字体图标:<!DOCTYPE html><html lang="en"><head> <style> .box1 { width: 0; height: 0; border-top: 10px solid pink; border-right: 10px solid
2021-03-22 11:18:45
82
原创 CSS—浮动
1 传统网页布局的三种方式CSS提供了三种传统布局方式:标准流(普通流/文档流)浮动定位标准流(普通流/文档流)所谓的标准流就是标签按照规定好默认方式排列:块级元素会独占一行,从上向下顺序排列行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘则自动换行。2 浮动(1)什么是浮动float属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块或另一个浮动框的边缘: <style> .a1, .a2 {
2021-03-22 01:15:23
213
原创 Vue—组件化开发1
1 传统方式组件使用的三个步骤:创建组件构造器注册组件使用组件<!DOCTYPE html><html lang="en"><head></head><body> <div id="app"> <cpn></cpn> <cpn></cpn> <cpn></cpn> </d
2021-03-21 21:07:57
74
原创 CSS—解决外边距塌陷
嵌套块元素垂直外边距的塌陷对于两个嵌套关系(父子关系)的块元素,父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷较大的外边距值: <div class="a"> <div class="b"></div> </div>解决方案:可以为父元素定义上边框可以为父元素定义上内边距可以为父元素添加overflow:hidden<style> .a { width: 100px;
2021-03-20 16:32:36
195
原创 CSS—三大特性
1 层叠性相同选择器设置相同的样式,此时一个样式就会覆盖另一个冲突的样式,层叠性主要解决样式冲突的问题。2 继承性子标签会继承父标签的某些样式,如文本颜色和字号恰当地使用继承可以简化代码,降低CSS样式的复杂性子元素可以继承父元素的样式(text-,font-,line-这些元素开头的可以继承,以及color属性)3 优先级当同一个元素指定多个选择器,就会有优先级产生选择器相同,则执行层叠性选择器不同,则根据选择器权重执行选择器权重如下表所示:选择器权重继承
2021-03-20 10:39:40
77
原创 CSS—元素的显示模式
元素显示模式就是元素(标签)以什么方式进行显示,比如div自己占一行,span一行可以放多个。1 块元素常见的块元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,块级元素的特点:独占一行高度、宽度、外边距以及内边距都可以控制宽度默认是容器(父级宽度)的100%是一个容器及盒子,里面可以放行内或者块级元素文字类的元素不能使用块级元素,如p标签主要用于存放文字,因此p里面不能放块级元素
2021-03-19 23:40:22
611
原创 CSS—复合选择器
在CSS中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器。1 后代选择器后代选择器又称为包含选择器,可以选择父元素里面的子元素,其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔,当标签发生嵌套时,内层标签就成为外层标签的后代。ol li{ color:red;}2 子元素选择器子元素选择器(子选择器)只能选择作为某元素的最近一级子元素,简单
2021-03-19 23:04:25
158
原创 CSS—基础选择器
选择器就是根据不同需求把不同的标签选出来,简单来说就是选择标签用的。选择器分为基础选择器和复合选择器两个大类,基础选择器由单个选择器组成,基础选择器又包括:标签选择器,类选择器,id选择器和通配符选择器。1 标签选择器标签选择器(元素选择器)是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一标签指定统一的CSS样式:<style> p { color:pink; } div { color:green; }</style>2 类选择器如果想
2021-03-19 07:42:04
173
原创 CSS—表单
1 表单域表单域是一个包含表单元素的区域,在HTML标签中,<form>标签用于定义表单域,以实现用户信息的收集和传递。<form>会把它范围内的表单元素信息提交给服务器。<form action="url地址" method="提交方式" name="表单域名称"> 各种表单元素控件</form>属性属性值作用actionurl地址用于指定接收并处理表单数据的服务器程序的url地址methodget/post用
2021-03-18 22:21:48
693
原创 02—JavaScript常见的排序算法
目录1 冒泡排序(O(n^2))2 选择排序(O(n^2))3 插入排序(O(n^2))4 归并排序(O(nlog(n))5 快速排序(O(nlog(n))本文将逐一介绍常见的排序算法:1 冒泡排序(O(n^2))冒泡排序比较所有相邻的两个项,如果第一个比第二个大,则交换它们。元素项向上移动正确的顺序,就好像气泡升至表面一样,冒泡排序因此得名: function bubbleSort(array) { const { length } = array;
2021-03-17 09:44:23
89
原创 01—时间复杂度、空间复杂度
1、时间复杂度(1)时间频度: 一个算法中的语句执行次数称为语句频度或时间频度。记为T(n),n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。(2)时间复杂度: 若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。①常数阶 O(1)int sum = 0, n = 100;printf(“I love you.com
2021-03-15 14:46:49
288
原创 WebAPI—BOM04
BOM:浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。BOM由一系列对象组成,并且每个对象都提供了很多方法与属性。BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初是Netscape浏览器标准的一部分。...
2021-03-14 23:21:05
163
原创 WebAPI—DOM03
注册事件:给元素添加事件,称为注册事件或绑定事件注册事件有两种方式:传统方式和方法监听注册方式传统注册方式利用on开头的事件onclick特点:注册事件的唯一性:同一个元素同一个事件只能设置一个处理函数,最后注册的处理函数将会覆盖前面注册的处理函数方法监听注册方式addEventListener(),它是一个方法,IE9之前的IE不支持此方法,可用attachEvent()代替特点:同一个元素同一个事件可以注册多个监听器(事件处理程序),按注册顺序执行eventTarget.addEv
2021-03-14 10:54:23
97
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人