上一期我们使用了React官方的脚手架运行React应用.大家可能会觉得这种方法很繁琐,需要配置各种第三方插件.JQuery时代的前端真是让人怀念.这一期,我就带领大家创建一个"怀旧版"的React应用. 一. 文件结构一览 这次项目的文件结构相当简单,一个index.html和scripts文件夹.在scripts放着必要的文件babel.min.js.react.development.js.react-dom.development.js.值得注意的是react提供了develo…
在前端的世界里,我们要处理的文件不是太多,而是太少.每天开发项目将html.css.js.图片.字体文件都像大杂烩一般加载都网页上.当应用变得越来越臃肿的时候,会发现js用了那么多全局变量,css的继承关系如此复杂. 在这种情况下,React诞生了.React是通过一种新的方式组织代码,这种方式以javascript为核心,通过模块化的思维,可以将css.jsx(react特有的组件形式)等引入js文件中. 1.安装 React社区提供了众多的脚手架,这里我们使用官方推荐的create-reac…
俗话说"万丈高楼平地起",从这一期开始,我们将使用基于Webpack+Babel的React学习React框架中的一些基础概念.在学习React的过程中经常会把Element.Class和Component这几个基础概念混淆.所以我们看看这些React的概念到底是干什么的,有什么作用. 1. 从ReactDOM.render说起 ReactDOM是React封装DOM的一个软件包,提供了DOM的一些特定方法.render方法就是将React element渲染到事先定义的容器中. //…
我的第一个React应用 接着我们上一期所讲的内容,通过create-react-app脚手架创建的应用,它是基于ES6的语法生成的.我们清空src目录下的文件,并分别创建index.js和index.css文件. cd my-app/src rm -rf * touch index.js touch index.css 现在我们编辑index.js文件, import React from 'react'; import ReactDOM from 'react-dom'; import '.…
JSX,即javscript XML,是js内定义的一套XML语法.目前是使用babel作为JSX的编译器.这也是在前几期中载入babel的原因. Facebook引入JSX是为了解决前端代码工程复杂.维护困难等问题.JSX为我们提供了一种虚拟DOM的实现方式. 通过使用类XML语法的JSX,定义虚拟的DOM,以减少真实DOM的操作,从而提高运行效率.由于JSX的使用,在React项目中创建Components变得相当简单,用户可以将程序逻辑(programming logic)和标记语言(ma…
经过这四期的讲解,我们从Hello World应用入手,解释了React最重要的概念JSX,以及两种不同模式的应用构建方法.这一讲我们着重对比传统模式和新模式下的React项目构建,从而为初学者提供学习方向. 1. 传统模式构建 一般在传统模式下,我们构建前端项目很简单.就是下载各种js文件,如JQuery.Echart等,直接放置在html静态文件.这样在这个前端项目中,默认生成或者是定义全局变量,从而使用js各种开发包的特性.典型代码如下: <!DOCTYPE html> <html…
1.概述 Java8中在Collection中增加了一个stream()方法,该方法返回一个Stream类型.我们就是用该Stream来进行流编程的: 流与集合不同,流是只有在按需计算的,而集合是已经创建完毕并存在缓存中的: 流与迭代器一样都只能被遍历一次,如果想要再遍历一遍,则必须重新从数据源获取数据: 外部迭代就是指需要用户去做迭代,内部迭代在库内完成的,无需用户实现: 可以连接起来的流操作称为中间操作,关闭流的操作称为终端操作(从形式上看,就是用.连起来的操作中,中间的那些叫中间操作,最终…
js 有时在定义变量的类型为number 或string 时并不会报错,所以prop-types 是专门用来检测react ,以前的版本是把它放到react架构里面 ,现在作为一个独立的库搬出来了,跟redux 一样: 1.首先你需要通过在终端npm install prop-types --save 安装一个叫prop-types的第三方包 2. 然后通过下面的写法对你的某一个组件的props中的变量进行类型检测: 组件名.propTypes = { 属性1:属性1的变量类型, 属性2:属性2…
https://github.com/huenchao/yingshili 或者点这里 注意事项看ReadME.md 会持续更新,反正就是把之前分析的redux react-redux都用一下,然后会加react-router用了antd UI库…
笨人学习法 10000个小时策略来学习,因为笨.先照着官方文档敲一遍,写一遍. 准备 先要准备环境.搭建一个基于webpack的react环境:Hello ReactJS. demo: https://github.com/Ryan-Miao/hello-react-js 一些要点 我在想是否应该完整的记录照抄的过程呢.毕竟已经开始一段,前面的要不要补上?回头看以前写过的angularJS的博客,现在完全不会了,太久没用了.所以,还是记录基础以及关注的问题就好. 1.1 基本格式 react的模…
磨刀不误砍柴工,咱先把react-redux里的工具函数分析一下: 源码点这里  shallowEqual.js export default function shallowEqual(objA, objB) { if (objA === objB) { return true } const keysA = Object.keys(objA) const keysB = Object.keys(objB) if (keysA.length !== keysB.length) { return…
孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十一天. 今天继续学习mongoDB的简单操作,并继续对一些可能反复经常使用的操作进行简单的封装. 今天成功了解并实测完成了向mongoDB数据库中删除记录的操作,详细学习过程见屏幕录屏学习过程. 一.首先解决了昨天没有解决的修改记录的问题 今天花了一定的时间认真看相关资料,发现在修改记录时: [方法一]: 集合对象.update({查询记录的…
接上篇 : webpack学习(六)—webpack+react+es6(第2篇) 上篇其实是有问题的,问题在取服务器数据这块.this.props 表示那些一旦定义,就不再改变的特性,而 this.state 是会随着用户互动而产生变化的特性[1].服务器数据是变化的,应该作为state而不是props. 参考了其他的博客后,改写一遍.例子: src/js/app.js import React from 'react'; import ReactDOM from 'react-dom'; i…
接上篇        webpack学习(五)—webpack+react+es6(第1篇) 本文做个简单的图片加文字的页面.其中,配置文件跟上篇一致.项目结构: index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .img{…
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. === 好久没写技术文章了,对不住大家.今天送上sort帮你排序,以资共享.:) [正文开始] sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行…
React更新dom的依据: 1.不同类型的elements会产生不同的树 2.通过render方法中包含key属性的子元素,开发者可以示意哪些子元素可能是稳定的. 更新过程: 一.根元素类型不同:旧树被卸载,旧的Dom节点销毁,Component实例将接收componentWillUnmount()方法, 当新建一个树,新节点插入到Dom中,Component实例接收componentWillMount()然后接收componentDidMount() 所有与旧树关联的状态全部销毁. <div…
一.前言 为什么要去学习React呢,关于前端三大框架Angular,Vue,React其实都得去学吧,因为大家都在用啊,大家都再谈论啊,面试什么的都要求,没办法,曾几何时,大家都说求求大佬们别坑新了,别出框架了,老子孩子孙子都学不动了.其实我jiao的吧,技术,不就是一直更新的,新的技术代替老的技术,说不定有一天,三大框架也会被其他东西代替,就想以前的jquery一样,没什么的,我觉得大佬们出一个框架的时间,比起我们去学习的时间来说真的是太多了,这东西思想都是一样的,都是通的,如果真的去认真学…
详情参考官方JSX规范 虽然JSX是扩展到ECMAScript的类XML语法,但是它本身并没有定义任何语义.也就是说它本身不在ECMAScript标准范围之内.它也不会被引擎或者浏览器直接执行.通常会利用很编译器预处理器来将这些JSX转化为标准的ECMAScript. 吐槽:虽然JSX出发点是好的,而且写起来也很简单,但是对于要在JS中写类HTML格式的内容,我的内心是排斥的,感觉非常不习惯.这不是我熟知的web开发啊!有种在开发app的感觉,一个个自定义的组件. 想看看他是怎么编译JSX,于是…
20145213<Java程序设计>第五周学习总结补充 教材学习内容总结 欠的账都是要还的!第九章的内容躲过对酒当歌的夜,躲不过四下无人的街.由于第五周贪玩,疏忽冷落了Collection与Map,那么现在我就来温习一下吧! 认识Collection架构 针对收集对象的需求,Java SE提供了Collection API.Collection 包含了收集对象的共同行为,然而收集对象会有不同的需求. 利用java.util.List接口可以在收集对象时记录每个对象的索引顺序,并可依索引取回对象…
20145218 <Java程序设计>第五周学习总结 教材学习内容总结 异常 程序中总有些意想不到的状况所引发的错误,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失, 所以在程序的设计中必须要考虑各种异常的发生,并正确的做好相应的处理,这样才能保证程序正常的执行. 使用try.catch java中所有的错误都会被打包为对象,并提供了特有的语句进行处理.使用了try.catch语法,JVM会尝试执行try区块中的程序代码,如果发生错误,执行流程会跳离错误发生点,然后对比…
20145224 <Java程序设计>第五周学习总结 教材学习内容总结 第八章异常处理 8.1.1使用try.catch ·教材范例用户连续输入整数,输入0结束后显示输入数的平均值(代码如下) import java.util.Scanner; public class Average { public static void main(String[] args) { Scanner console = new Scanner(System.in); double sum = 0; int…
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. === [正文开始] 上文接<sed的流艺术之三>-linux命令五分钟系列之二十三 例十 如果设定了很多-e的command,它们的执行顺序是怎样的呢? [rocrocket@rocrocket programming]$ cat mysed.txt Beijing 2003 Beijing 2…
20172328 2018-2019<Java软件结构与数据结构>第五周学习总结 概述 Generalization 本周学习了第九章:排序与查找,主要包括线性查找和二分查找算法和几种排序算法.我们在软件开发过程中要在某一组查找某个特定的元素或要将某一组元素按特定顺序排序,所以要学习排序与查找的多种算法. 教材学习内容总结 A summary of textbook 9.1查找 查找:是一个过程,即在某个项目组中寻找某一项指定目标元素,或者确定该指定目标并不存在. 高效的查找会使该过程所做的比…
20155321 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 第八章 异常处理 Java提供特有的语句进行处理 try { 需要被检测的代码; } catch(异常类 变量) { 处理异常的代码:(处理方法) } finally { 一定会执行的语句 } 对捕获到的异常对象进行常见方法操作 1)String getMessage() 显示异常信息 2)toString() 显示异常名称:异常信息 3) printStackTrace()(无返回值,无需给pri…
20155216 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 使用try,catch,finally处理异常 JVM会尝试执行try区块中的程序代码,如果发生错误,执行流程会跳离错误发生点,然后比较catch区块中声明的类型,是否符合被抛出的错误对象类型,如果是的话,就执行catch区块中的程序代码. 无论try区块中有无发生异常,若撰写有finally区块,则finally区块一定会被执行.finally区块会先执行完后,在将值返回. 一个try所包括的区块…
20145221 <Java程序设计>第五周学习总结 教材学习内容总结 第八章部分 - 异常处理 语法与继承架构 使用try...catch 首先要明确一点:Java中所有错误都会打包为对象 JVM会尝试执行try区块中的程序代码,如果发生错误,执行程序就会比对catch括号中声明的类型,是否符合被抛出的错误对象类型,如果是就执行catch中的程序代码. 使用try...catch注意,与C语言中程序流程和错误处理不同,Java中把正常流程放try块中,错误(异常)处理放catch块中,这是最…
20172305 2018-2019-1 <Java软件结构与数据结构>第五周学习总结 教材学习内容总结 本周内容主要为书第九章内容: 查找是在某个项目组中寻找到某一指定目标元素,或者确定该指定目标并不存在. 高效的查找会使该过程所做的比较操作次数最小化. 静态方法(类方法)可以通过类名调用,不能引用实例变量,可以引用静态变量.Java程序的main方法必须用static修饰符(声明为静态)来修饰,解释器不用实例化含有main的类的对象,就可以调用main方法. 泛型方法创建一个引用泛型的方法…
20172330 2017-2018-1 <Java程序设计>第五周学习总结 教材学习内容总结 第五章 首先是对各种各种运算符的了解:刚开始以为相等就是=,还有其他一些符号都挺简单的,然后在进一步学习知道了"=="与"!="都是相等型运算符,而"!","&&","||"则分别代表非,与,或. 教材学习中的问题和解决过程 其次是if语句: 1.if语句由保留字if.紧随其后的布尔表…
"大家好,我是谷阿莫,今天要将的是一个...",哈哈哈,看到这个题我就想到这个开头.最近react 官方在 2018 ReactConf 大会上宣布 React v16.7.0-alpha(内测) 将引入 Hooks.所以我们有必要了解 Hooks,以及由此引发的疑问. React Hooks相关推荐 30分钟精通React今年最劲爆的新特性--React Hooks 从Mixin到hooks,谈谈对React16.7.0-alpha中即将引入的hooks的理解 精读<React…
1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID,称为进程 ID(PID) 对进程进行管理必须以进程 ID 作为对象,而非进程名称 每个进程都可能以前台或后台两种方式存在,bg 表示后台执行,fg 表示前台执行 在命令后加 & 使进程在后台执行 2.显示进程 可以使用 ps 命令(Process Status)显示当前运行的进程,显示的内容如下:…