- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 React生命周期
一、React组件生命周期1、constructorconstructor参数接受两个参数props,context可以获取到父组件传下来的的props,context,如果你想在constructor构造函数内部(注意是内部哦,在组件其他地方是可以直接接收的)使用props或context,则需要传入,并传入super对象。constructor(props,context) { ...
2019-03-29 10:16:21 196
原创 React基础知识(7)——React 列表 & Keys
一、列表我们可以使用 JavaScript 的 map() 方法来创建列表。import React from 'react';export default class Home extends React.Component { render() { const numbers = [1, 2, 3, 4, 5]; const listItems =...
2019-03-26 15:51:39 307
原创 React基础知识(6)——React 事件处理
React 元素的事件处理和 DOM 元素类似。但是有一点语法上的不同:React 事件绑定属性的命名采用驼峰式写法,而不是小写。如果采用 JSX 的语法你需要传入一个函数作为事件处理函数,而不是一个字符串(DOM 元素的写法)HTML 通常写法是:<button onclick="activateLasers()"> 激活按钮</button>React...
2019-03-26 15:49:40 141
原创 React基础知识(5)——React Props
state 和 props 主要的区别在于 props 是不可变的,而 state 可以根据与用户交互来改变。这就是为什么有些容器组件需要定义 state 来更新和修改数据。 而子组件只能通过 props 来传递数据。一、使用 Props以下实例演示了如何在组件中使用 props:import React from 'react';function HelloMessage(props) ...
2019-03-26 15:45:55 165
原创 React基础知识(4)——React State(状态)
React 把组件看成是一个状态机(State Machines)。通过与用户的交互,实现不同状态,然后渲染 UI,让用户界面和数据保持一致。React 里,只需更新组件的 state,然后根据新的 state 重新渲染用户界面(不要操作 DOM)。在app/home/index.js中的添加如下代码,在 render() 方法中使用 this.state 来修改当前的时间。添加一个类构造函...
2019-03-26 15:43:55 272
原创 React基础知识(3)——受控组件与非受控组件
通过学习《第一个组件》这一节,相信你已经理解了 props 和 state 的区别。这一节,我们会介绍 “受控组件”和“非受控组件”这两个概念。非受控组件我们首先看一个简单的例子,现在有一个输入组件。const MyInput = ({ onChange }) => ();上面这个组件会显示一个输入框,每次有用户输入,就会调用传入的参数 onChange。然后,将这个组件放入H...
2019-03-26 15:41:33 190
原创 React基础知识(2)——第一个组件
本节主要解释什么是组件,以及怎样写组件。这是 React 和 Ant Design 的使用基础,只有学会了这些内容,才能理解后面的知识。如果你对 React 已经有所了解,可以跳过这一节。组件的概念按照功能划分,一张网页可以由多个互相独立的功能单位组成,这种功能单位就叫做“组件”(component)。比如,典型的网页分成页头、内容、页尾三个部分,就可以写成三个组件:Header、Conten...
2019-03-26 15:39:47 171
原创 React基础知识(1)——前端开发的演变
本文介绍前端开发的历史和趋势,帮助大家了解 React 要解决什么问题。静态页面阶段互联网发展的早期,网站的前后端开发是一体的,即前端代码是后端代码的一部分。后端收到浏览器的请求生成静态页面发送到浏览器那时的前端页面都是静态的,所有前端代码和前端数据都是后端生成的。前端只是纯粹的展示功能,脚本的作用只是增加一些特殊效果,比如那时很流行用脚本控制页面上飞来飞去的广告。那时的网站开发,采...
2019-03-26 15:38:01 210
原创 LeetCode:编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary)
题目描述:编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。±—±-------+| Id | Salary |±—±-------+| 1 | 100 || 2 | 200 || 3 | 300 |±—±-------+例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,...
2019-03-26 10:27:40 2298
原创 LeetCode:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标
题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解法1:cl...
2019-03-20 16:10:13 1122
原创 Java字符串处理函数汇总
public String concat(String str) //该方法的参数为一个String类对象,作用是将参数中的字符串str连接到原来字符串的后面.public int length() //返回字串的长度,这里的长度指的是字符串中Unicode字符的数目.public char charAt(int index)//该方法在一个特定的位置索引一个字符串,以得到字符串中指定...
2019-03-14 09:51:19 6435 1
转载 Java BigDecimal详解
1.引言 float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。先看下面代码 public static void main(String[] a...
2019-03-14 09:49:47 412
转载 ConcurrentHashMap原理分析(JDK1.7与1.8)
前言前面写过介绍HashMap的文章(https://blog.csdn.net/qq_27574367/article/details/88526194 ),文中提到过HashMap在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,在多线程的环境下,存在同时其他的元素也在进行put操作,如果ha...
2019-03-13 10:58:54 289
原创 HashTable原理和底层实现
1. 概述上次讨论了HashMap的结构,原理和实现,本文来对Map家族的另外一个常用集合HashTable进行介绍。HashTable和HashMap两种集合非常相似,经常被各种面试官问到两者的区别。对于两者的区别,主要有以下几点:HashMap是非同步的,没有对读写等操作进行锁保护,所以是线程不安全的,在多线程场景下会出现数据不一致的问题。而HashTable是同步的,所有的读写等操作都...
2019-03-13 10:46:32 17197 1
转载 LinkedHashSet 和 LinkedHashMap源码剖析
总体介绍LinkedHashSet和LinkedHashMap在Java里有着相同的实现,前者仅仅是对后者做了一层包装,也就是说LinkedHashSet里面有一个LinkedHashMap(适配器模式)。因此本文将重点分析LinkedHashMap。LinkedHashMap实现了Map接口,即允许放入key为null的元素,也允许插入value为null的元素。从名字上可以看出该容器是li...
2019-03-13 10:43:22 181
转载 HashSet and HashMap源码剖析
总体介绍之所以把HashSet和HashMap放在一起讲解,是因为二者在Java里有着相同的实现,前者仅仅是对后者做了一层包装,也就是说HashSet里面有一个HashMap(适配器模式)。因此本文将重点分析HashMap。HashMap实现了Map接口,允许放入null元素,除该类未实现同步外,其余跟Hashtable大致相同,跟TreeMap不同,该容器不保证元素顺序,根据需要该容器可能会...
2019-03-13 10:00:57 241
转载 LinkedList源码剖析
总体介绍LinkedList同时实现了List接口和Deque接口,也就是说它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(Stack)。这样看来,LinkedList简直就是个全能冠军。当你需要使用栈或者队列时,可以考虑使用LinkedList,一方面是因为Java官方已经声明不建议使用Stack类,更遗憾的是,Java里根本没有一个叫做Queue的类(它是个...
2019-03-13 09:58:28 156
转载 ArrayList源码剖析
总体介绍ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同。每个ArrayList都有一个容量(capacity),表示底层数组的实际大小,容器内存储元素的个数不能多于当前容量。当向容器中添加元素时,如果容量不足,容器会自动增大底层数组的大小。前面已经提过,Java泛型只是编...
2019-03-13 09:54:09 170
原创 ES6基础语法
let:变量 不具备变量提升特性const:常量(引用地址不可改变) 在声明时必须被赋值let和const都是块级作用域 只在最靠近的一个块中(花括号内)有效在es6中新增了模板字符串拼接:var name='kingfan'; var age = 18; var msg = `我是${name},今年${age}岁`; console.log(msg) //打印 我是kingfan...
2019-03-13 09:46:38 177
转载 React从零开始——一个详细的范例
范例说明接下来我们要通过一个简单的案例,详细的学习React的内容如上图所示,两个按钮,点击加号按钮,数字加一,点击减号按钮,数字减一代码结构使用create-react-app创建一个工程,将其中的代码结构删减到最简单的模式修改index.jsindex.js中的代码就很简单了,只要引入App组件,执行渲染即可import React from 'react';import ...
2019-03-13 09:44:29 6357
原创 React使用ant时设置DatePicker日期控件中文显示
方式一:局部设置import 'moment/locale/zh-cn';import locale from 'antd/lib/date-picker/locale/zh_CN';//调用时引用locale<DatePicker format="YYYY-MM-DD" placeholder="" locale={locale}/>方式二:...
2019-03-13 09:39:15 7295
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人