自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redux 中异步的请求

在 redux 中异步流中间件有很多,当下主流的异步中间件有两种:redux-thunk、redux-saga。1、redux-thunk优点:体积小 使用简单:没有引入像 redux-saga 额外的范式缺点:样板代码过度 耦合严重:异步操作与 redux 的 action 耦合在一起,不方便管理 功能孱弱:有些实际开发中的常用狗能需要自己进行封装使用步骤:(1)配置中间件,在 store 的创建中配置import {createStore, applyMiddle..

2021-11-08 16:55:57 978

原创 React-Redux主要解决了什么问题

React是视图层框架,Redux是用来管理数据状态和 UI 状态的 JavaScript 应用工具。随着 JavaScript 单页应用开发日趋复杂,所需要管理的 state 也日趋增多,Redux就是用来降低管理难度的。在React中逐渐之间通信的数据流是单向的,顶层组件可以通过 props 属性向下层组件传递数据,而下层组件不能向上层组件传递数据,兄弟组件之间同样不能。当项目越来越大的时候,管理数据的事件或回调函数越来越多,也就越来越不好管理。Redux 提供了一个叫 store 的统一仓

2021-11-08 16:09:54 826

原创 React 中组件通信的方法

React中组件通信有几种常见的情况:1、父组件向子组件通信父组件通过 props 向子组件传递需要的信息。// 子组件: Childconst Child = props =>{ return <p>{props.name}</p>}// 父组件 Parentconst Parent = ()=>{ return <Child name="react"></Child>}2、子组件向父组件通信prop

2021-10-25 15:26:21 151

原创 React中setState的原理,是异步的还是同步的

1、首先调用 setState 入口函数,入口函在这里就是重登一个分发器的角色,根据参数的不同,将其分发到不同的功能函数中去ReactComponent.prototype.setState = function (partialState, callback) { this.updater.enqueueSetState(this, partialState); if (callback) { this.updater.enqueueCallback(this, callback,

2021-10-24 15:13:47 827

原创 React中高阶组件、Render props、hooks

这三者都是react中解决代码复用的主要方式:1、HOC在官方解释中:高阶组件(HOC)是 React 中复用组件逻辑的一种高级技巧。HOC自身不是 React API 的一部分,它是一种基于 React 的组合特性而形成的一种设计模式。简而言之,HOC 是一种组件的设计模式,HOC 接收一个组件和额外的参数,返回一个新的组件。HOC 是纯函数,没有副作用。function withSubscription(WrappedComponent, selectData) { re

2021-10-24 13:25:22 2264

原创 JavaScript中的闭包

通俗的将javascript中每个函数都是闭包,但是通常意义上嵌套的函数更能体现闭包的特性。当一个函数返回它内部定义的函数时,就产生了一个闭包,闭包不但包括被返回的函数,还包括这个函数的定义环境。闭包最常见的方式就是在一个函数内部创建另一个函数,创建的函数可以访问到当前函数的局部变量。闭包通常有两个常用的用途:1、可以使我们在函数外部能够访问到函数内部的变量。通过使用闭包,可以通过在外部调用闭包函数,从而在外部访问到函数内部的变量,可以使这种方式创建私有变量。2、闭包的另一个用途使已经运

2021-10-24 00:48:11 48

原创 JavaScript中的async/await

async/await其实是一种语法糖,它能实现的效果都能用 then 链来实现,是为了优化 then链而开发出来的。async是异步的简写,await是等待的简写,所以很好理解 async 用于申明一个 function 是异步的而 await 用于等待一个异步方法执行完成。async function testAsy(){ return 'hello world';}let result = testAsy(); console.log(result)在浏览器中输出的是

2021-10-23 20:49:45 85

原创 JavaScript中的Promise

Promise是异步编程的一种解决方案,是一个对象,可以获取异步操作的消息,大大改善了异步编程的困难,避免了回调地狱,比传统的解决方案回调函数和事件更合理和更强大。从语法上讲,Promise是一个对象,它可以获取异步操作的消息。提供了一个统一的API,各种异步操作都可以用同样的方法进行处理1、Promise的实例有三个状态:(1)Pending(进行中)(2)Resolved(已完成)(3)Rejected (已拒绝)2、Promise的实例有两个过程(1)pending &gt

2021-10-23 20:37:09 87

原创 JavaScript中原型和原型链

在jave script中使用构造函数来创建一个新对象,每个构造函数的内部都有一个 prototype 属性,它的属性值是一个对象,这个对象包含了可以由该构造函数的所有实例共享的属性和方法。当访问一个对象的属性是,如果这个对象内部不存在这个属性,那么它就会去它的原型对象里找这个属性,这个原型对象又会有自己的原型,于是这么一直找下去,也就是原型链的概念了。原型链的特点:jave script对象是铜环引用来传递的,创建的每一个新对象实体中并没有一份属于自己的原型副本。当修改原型是,与之相关的对象也会继

2021-10-23 19:55:43 70

原创 JavaScirpt中的箭头函数

1、箭头函数比普通函数更加简洁:箭头函数没有参数,直接写一个空括号。只有一个参数的时候可以省去参数的括号。如果有个参数用逗号分割。如果函数体的返回值只有一句话可以省略大括号。如果函数体不需要返回值且只有一句话,可给这个语句前面加一个关键字。2、箭头函数不会创建自己的this,只会继承自己作用域的上一层this。所以箭头函数中this的指向在它定义时已经确定了,之后不会改变。3、箭头函数继承来的this指向永远不会改变。4、call()、apply()、bind()不能改变

2021-10-23 19:44:13 405

空空如也

空空如也

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

TA关注的人

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