- 博客(17)
- 收藏
- 关注
原创 五种方式实现三栏布局,左右固定中间自适应。
1.浮动2.定位3.flex4.圣杯布局5.双飞翼布局1.浮动:!注意,要把middle放在最后 <style> body { margin: 0; padding: 0; } .container { width: 100%; height: 200px; } .left { width: 300px; height: 200px; background
2021-04-27 23:36:30 470
原创 react使用setState
直接使用this.state.counter = 5;这种改变方式,虽然改变了致,但是react不知道他已经改变了,所以不会渲染,setState是继承的,在Component的原型上setState是异步更新的:this.state = {counter = 0}this.setState({counter: 5})console.log(counter)//显示还是原来的counter 0原因:手下要承认的是 setState时re-render是很差的操作,重新渲染需要时
2021-04-08 21:51:44 212
原创 React 组件的分类和Render返回值
1.类组件和函数式组件划分依据是根据组建的定义方式, 函数式组件使用函数定义组件,类组件使用es6定义组件,类组件可以维护自身的状态 有state, 有生命周期,函数时组件更简洁,只返回一个render, 使用的是无状态组建的思想,由于无法使用state,也没有生命周期,这决定了函数式组件是展示型组件,没有this,无需考虑this带来的问题。2.展示型组件和容器类组件展示型组件和容器类组件的划分规则是工作职责容器类组件主要职责是,组件如何工作的。 更具体的就是数据如何让更新,容器类组件需要知道
2021-04-04 21:22:30 1374
原创 虚拟 DOM
什么是 virtual DOM:React官方的说法:Virtual DOM 是一种编程理念。在这个理念中,UI以一种理想化或者说虚拟化的方式保存在内存 中,并且它是一个相对简单的 JavaScript对象我们可以通过ReactDOM.render让 虚拟DOM 和 真实DOM同步起来,这个过程中叫做协调(Reconciliation);这种编程的方式赋予了React声明式的API:你只需要告诉React希望让UI是什么状态;React来确保DOM和这些状态是匹配的;你不需要直接进行DO
2021-04-01 16:25:30 128
原创 JSX
//在{}可以正常显示的数据 string num array message: "Hello World" ,//String number: 18, //array array: ["aa","bbb", 15],//array //在react不能正常显示 null undefined, boolean, 默认不显示 test1: null, test2: undefined, test3:true解决:可以转
2021-03-31 21:08:53 168
原创 React 事件处理函数绑定 this
官网解释:如果你不绑定this,呢么在事件发生并且准确调用这个方法时,会发生this内部丢失指向这不是react原因,而是js中本来就有的,因为类声明和类表达式的主体都执行在严格模式下,严格模式下,this指向unde官网解释:如果你不绑定this,呢么在事件发生并且准确调用这个方法时,会发生this内部丢失指向 这不是react原因,而是js中本来就有的,在严格模式下,callback会失去它的this上下文。在React class组件中,事件的handle 方法给回掉函数的传参,在执行cl
2021-03-29 21:24:59 138
原创 var let cost
var 声明提升使用 var 时,下面的代码不会报错。这是因为使用这个关键字声明的变量会自动提升到函数作用域顶部:function foo() { console.log(age); var age = 26; } foo(); // undefined 之所以不会报错,是因为 ECMAScript 运行时把它看成等价于如下代码:`function foo() { var age; console.log(age); age = 26; } foo(); // un
2020-10-07 17:18:49 955 1
原创 微信小程序添加全局加载图标
```css// 同时发送异步代码的次数let ajaxTimes=0;export const request = (params) => { ajaxTimes++ // 显示加载中 效果 wx.showLoading({ title: "加载中", mask: true, }); // 定义公共的url const baseUrl="https://api-hmugo-web.itheima.net/api/publi.
2020-09-10 11:09:23 634
原创 微信小程序缓存
wx.setStorageSync(“key”, “value”);wx.getStorageSync(“key”);/* 0 web中的本地存储和 小程序中的本地存储的区别 1 写代码的方式不一样了 web: localStorage.setItem("key","value") localStorage.getItem("key") 小程序中: wx.setStorageSync("key", "value"); wx.getStorageSync("
2020-09-08 21:22:50 215
原创 difference between JavaScript Engine and JavaScript Run-time Environment
let’s see the difference between JavaScript Engine and JavaScript Run-time Environment.A JavaScript engine is a program that is used to process a given code and convert it into specific commands for execution.A JavaScript Run-time Environment is an envir
2020-09-02 16:21:59 68
原创 三元运算符与null
三元运算符与nullconsole.log(jsonData.data.list[0].heal) //返回为nullconsole.log(jsonData.data.list[0].dead) //返回为nullconsole.log(jsonData.data.list[0].heal === jsonData.data.list[0].dead) //返回为truejsonData.data.list[0].heal = null? 0:1;//三元运算符对null 返回falsecons
2020-08-18 10:54:31 1160
原创 HTTP获取目的网站的ip地址
Tcp/Ip communication细节案例: 从因特网下载一个包1.进入浏览器网站PC2.DNS 服务器产生一条信息PC中的HTTP客户端尝试生成一条消息,要求从www.website.com请求HTML文件。它需要在生成的消息中提供该消息中的目标IP地址,但没有该IP地址。因此它使用PC的DNS客户端来获取它。DNS客户端向传输层发送一条消息,请求为website.com提供IP地址...
2020-07-21 21:53:29 1857
原创 CSS居中布局
CSS居中布局<<body> <div class="wrap"> <div class="content"></div> </div>水平居中1.inline-block + text-align分析:display设置为inline-block的元素,具有文本元素的性质,其父元素可以通过设置文本对齐属性text-align来控制其在行内的对齐方式,text-align: center即为水平对齐
2020-07-21 14:52:53 90
原创 idea整合swagger使用
idea整合swagger使用1.配置引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <scope>provided </scope> </dependency> &
2020-07-20 19:56:17 1048
原创 mybatis_plus代码生成器
mybatis_plus代码生成器1.引入依赖<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.2</version></dependency>注意修改,项目的绝对路径,主键策略,数据库配置,包改成自己想要的名称,
2020-07-19 21:45:25 95
原创 mybatis_plus乐观锁
mybatis_plus乐观锁丢失更新:就是两个不同的事务(或者Java程序线程)在某一时刻对同一数据进行读取后,先后进行修改。导致第一次操作数据丢失。乐观锁:总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,只在更新的时候会判断一下在此期间别人有没有去更新这个数据。可以通过给数据表添加自增的version字段或时间戳timestamp。进行数据修改时,数据库会检测version字段或者时间戳是否与原来的一致。若不一致,抛出异常。具体实现:表添加字段,作为乐观锁的版本号,
2020-07-19 15:28:28 224
原创 Idea 使用 mybatis_plus基础
Idea 使用 mybatis_plus基础1.添加依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.5</version> </depen
2020-07-19 10:21:20 1256 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人