1 酱油开发

尚未进行身份认证

我要认证

好好学习,天天向上

等级
TA的排名 34w+

React-redux

概述react-redux是redux官方出的,用于配合react的绑定库,它能够使你的react组件从redux store中很方便的读取数据,并且向store中分发actions,以此来更新数据,它有两个很重要的成员:Provider、connect:Providerconnect小案例解说案例需求: 一个按钮,点击加1,下方显示数字,默认0案例思路:项目中下载redux、react-redux新建两个组件(ComA、ComB)新建store文件和reducer文件然后用re

2020-05-23 15:02:03

Redux

一、概述1.1、概念理解:redux可以理解为就是一个js容器,用于全局的状态管理1.2、三大核心单一数据源整个应用的state被存储在一颗object tree中,并且这个object tree只存在于唯一一个storestate是只读的唯一能改变state的就是action,action是一个用于描述已发生事件的对象,通过store中的dispatch方法来发送actionstorte.dispatch({type:‘add’})使用纯函数(reducer)来执行

2020-05-23 14:55:10

H5 sessionStorage/localStorage详解

一、sessionStorage(会话存储):说明:将数据保存在session对象中(实际项目中用这个比较多,因为页面之间跳转都还是在同一个窗口,数据不会丢失,然而页面关闭后会自动释放,比较符合实际需求)特点:用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅...

2020-04-08 21:14:52

Promise基础知识

一、概念描述:Promise 对象是一个代理对象(代理一个值),被代理的值在Promise对象创建时可能是未知的。它允许你为异步操作的成功和失败分别绑定相应的处理方法(handlers)。 这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象一个 Promise有以下几种状态:pending: 初始状态,既不是成功,也不是失败...

2020-04-02 16:33:25

classNames库实现动态添加多类名

一、引入classnames库,安装:npm install classnames --save二、基本使用:import classnames from 'classnames'<div className=classnames({ 'class1': true, 'class2': true )></div>className...

2020-03-21 11:47:06

JS 数据处理

一、对象数组**栗子1:**假设又一对象数组locationCompareData,元素是一个含有多个属性的对象,值如下:**需求:**先需要将以上数组,在相同location、相同时间点的不同type类型的Num值相加作为该点的值;代码:代码思路解析:先定义一个空对象packetCountMap,然后遍历刚才的上面的对象数组,然后定义一个itemKey字符串(不变量属性拼接而成),...

2020-03-21 11:22:47

prop-types详解

一、基础入门1.1、首先你需要通过在终端安装一个叫prop-types的第三方包;npm install prop-types1.2、然后通过下面的写法对你的某一个组件的道具中的变量进行类型检测:yourComponent.propTypes = { 属性1:属性1的变量类型, 属性2:属性2的变量类型 //...}二、使用全解2.1利用propTypes...

2020-03-15 17:17:03

深入理解JS执行机制

一、基础知识JS为什么是单线程的?JS最初被设计用在浏览器中,那么想象一下,如果浏览器中的JS是多线程的。场景描述:那么现在有2个线程,process1 process2,由于是多线程的JS,所以他们对同一个dom,同时进行操作process1 删除了该dom,而process2 编辑了该dom,同时下达2个矛盾的命令,浏览器究竟该如何执行呢?这样想,JS为什么被设计成单线程应...

2020-02-05 16:37:52

JS中几种值为假的情况

你的代码中时常会有需要判断语句的真假,然后再根据真假来进行下一步的操作,总共有以下几种情况为false;null const a='' if(!null){ alert("该值是false") }‘’ const a='' if(!a){ alert("该值是false") }0 const a=0 if(!a){ ...

2020-01-31 16:56:53

Js 面向对象摘要

前序热身一、js中的数据类型原始类型a、 原始类型的变量直接保存原始值,(而不是一个指向对象的指针);var a =1 var b =a说明:两者的存储地址是不一样的,a变量保存的是值1,b变量保存的也是值1,a的值改变了并不会影响到b;b、如何鉴别原始类型(typeof 是小写) console.log(typeof "a"); //"string" console.l...

2020-01-01 21:07:06

彻底攻克JavaScript作用域和作用域链

前言JavaScript中有一个被称为作用域(Scope)的特性。虽然对于许多新手开发者来说,作用域的概念并不是很容易理解,本文我会尽我所能用最简单的方式来解释作用域和作用域链,希望大家有所收获!作用域(Scope)1.什么是作用域作用域是在运行时代码中的某些特定部分中变量,函数和对象的可访问性。换句话说,作用域决定了代码区块中变量和其他资源的可见性。可能这两句话并不好理解,我们先来看个例...

2019-12-17 22:39:58

创建ssh

1、安装git工具下载地址:https://git-scm.com/downloads2、桌面右键鼠标,选中 “Git Bash here”3.输入cd ~/.ssh/,进入.ssh文件夹出现 “ No such file or directory”,你可以手动的创建一个 .ssh文件夹即可mkdir ~/.ssh4.配置全局的name和email,这里是的你github或者bitbu...

2019-12-05 08:14:59

一次搞懂Generator函数(ES6)

一、简介js中普通函数一旦开始执行,就会运行到最后或遇到return时结束,运行期间不会有其它代码能够打断它,也不能从外部再传入值到函数体内,而Generator函数(生成器)的出现使得打破函数的完整运行成为了可能,它执行期间可以返回多个值,可以做到走走停停,其语法行为与传统函数完全不同,它是ES6提供的一种异步编程解决方案,形式上也是一个普通函数,但有几个显著的特征:function关键字...

2019-12-03 08:53:07

图解React生命周期函数

前言如果将React的生命周期比喻成一只蚂蚁爬过一根吊绳,那么这只蚂蚁从绳头爬到绳尾,就会依次触动不同的卡片挂钩。在React每一个生命周期中,也有类似卡片挂钩的存在,我们把它称之为‘钩子函数’。那么在React的生命周期中,到底有哪些钩子函数?React的生命周期又是怎样的流程?今天我给大家来总结总结React 生命周期流程图如图,React生命周期主要包括三个阶段:初始化阶段、...

2019-11-19 21:28:44

ES6 class关键字

本文转载至简书-这里王工头博文ES5 中的面向对象// 创建一个构造函数function People (name, age) { this.name = name this.age = age}// 向构造函数的原型对象中添加 say 方法People.prototype.say = function () { return 'hello everyon...

2019-11-17 16:51:43

CSS3伸缩布局中的那点事儿

1、伸缩布局相关知识简介:css3在布局方面做了很大的改进,使我们对块级元素的布局排列变得十分灵活,适应性非常强,在响应式开发中可以发挥很大的作用;主轴:Flex容器的主轴主要用来配置flex项目,默认使水平方向;侧轴:与主轴垂直的轴,默认是垂直方向;方向:默认主轴从左到右,侧轴从上到下;主轴和侧轴并不是固定不变的,可以通过flex-direction来互换;...

2019-09-18 08:52:24

Redux-Devtools调试工具安装使用

1、Redux-Devtools调试工具下载方式一:去谷歌应用商店搜索redux-devtools直接安装即可,但又一个前提条件(需要翻墙,这里不考虑);方式二:可以去chrome插件网下载,下载地址为:http://chromecj.com/web-development/2018-03/931/download.html,下载过程需要关注公众号,发送插件即可得到验证码进行下载;2、安装过...

2019-08-26 08:37:03

iconfont字体图标的使用方法

step 1:百度iconfont,找到阿里巴巴矢量图标库官网,然后注册登录,或者用github登录也行,此步骤跳过;step 2:找到图标管理->我的项目->然后新建项目:右边点击新建项目,用于保存自己常用的图标;step 3:项目新建完成后,往项目里添加我们要想使用的图标,找到图标库,搜索一个想要的图标,然后添加到购物车;我现在将第一个安卓图标加入我的项目,点击...

2019-08-20 08:47:53

浅学易懂-Git图解

浅学易懂-Git图解代码的工作区域:工作区间: 即我们创建的工程文件, 在编辑器可直观显示;缓存区: 只能通过git GUI或git shell 窗口显示,提交代码、解决冲突的中转站;本地仓库: 只能在git shell 窗口显示,连接本地代码跟远程代码的枢纽,不能联网时本地代码可先提交至该处;远程仓库: 即保存我们代码的服务器,本文以公共版本控制系统:github为例,登录githu...

2019-08-12 08:56:13

SVG基础知识之白话系列教程

SVG基础知识svg实例写法:<svg width="100%" height="100%" version="1.1"xmlns="http://www.w3.org/2000/svg"><circle cx="100" cy="50" r="40" stroke="black"stroke-width="2" fill="red"/></svg&g...

2019-08-08 08:39:35
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。