前端框架react自学之react组件(五)
终极目标:掌握和使用react
本博客目的:记录react学习的进度和心得(react组件)
内容:通过视频学习,掌握react基础语法。
前端框架react自学之react组件(五)react组件函数式组件与类组件的区别和使用:
函数式比较简单,一般用于静态没有交互事件内容的组件页面。
类组件,一般又称为动态组件,那么一般会有交互或者数据修改的操作,例如一些方法。
函数式组件(函数,返回一个JSX对象)无状态组件式从React 0.14 版本开始的。为了创建纯展示组件,这种组件只负责根据传入的props来展示,不涉及到要state状态的操作。
目前React已发展到16.9,引入了Hook,推荐使用无状态组件。
无状态函数式组件形式上表现为一个只带有一个render方法的组件类,通过函数形式或者ES6 arrow function的形式在创建,并且该组件是无state状态的。具体的创建形式如下:第一个参数是 props,第二个是 context
1234function Welcome(props, context) { return <h1>Hello, ...
前端框架react自学之react样式和注释(四)
终极目标:掌握和使用react
本博客目的:记录react学习的进度和心得(react样式和注释)
内容:通过视频学习,掌握react基础语法。
前端框架react自学之react样式和注释(四)JSX_style1、Class,style中,不可以存在多个class属性
1<div class=’abc’ class={‘active’}> 错误的表示
注:JSX对象里面样式不能写成字符串,必须是对象。例如不能是style=”height=100;”,而是写成对象引用的形式style={},然后之前在外面定义好exampleStyle对象。
2、style样式中,如果存在多个单词的属性组合,第二个单词开始,首字母大写(驼峰式写法)。或者用引号引起来,否则会报错。
123456let exampleStyle = { background:"skyblue", borderBottom:"4px solid red", 'backgroun ...
前端框架react自学之react JSX(三)
终极目标:掌握和使用react
本博客目的:记录react学习的进度和心得(react JSX)
内容:通过视频学习,掌握react基础语法。
前端框架react自学之react JSX(三)react JSX优点:
1、JSX执行更快,编译为JavaScript代码时进行优化
2、类型更安全,编译过程如果出错就不能编译,及时发现错误(因为就是和JS差不多)
3、JSX编写模板更加简单快速。(不要跟VUE比)
注意:
1、JSX必须要有根节点。
2、正常的普通HTML元素要小写。如果是大写,默认认为是组件。
JSX表达式1、由HTML元素构成
2、中间如果需要插入变量用{}(在vue中是使用{{}})
3、{}中间可以使用表达式(数字表达式、字符表达式、三元运算等)
4、{}中间表达式中可以使用JSX对象
5、属性和html内容一样都是用{}来插入内容(注意不是写引号,相当于是一个语法糖,少写引号)
案例(注意JSX对象里面的注释不是使用//,也不是使用<!–>,而是使用{/* 注释*/},下面一些代码的//只 ...
前端框架react自学之react元素渲染(二)
终极目标:掌握和使用react
本博客目的:记录react学习的进度和心得(react元素渲染)
内容:通过视频学习,掌握react基础语法。
前端框架react自学之react元素渲染(二)1let h1 = <h1>helloworld</h1>; //在index.js文件中
使用JSX的写法,可以创建JS元素对象。
把JS对象渲染(render)到对应的DOM节点(元素)上,也就是使用虚拟DOM。
注意:JSX元素对象,或者组件对象,必须只有1个根元素(根节点)。(不需要引号,JSX语法)
案例使用(注意JSX对象里面的注释不是使用//,也不是使用<!–>,而是使用{/* 注释*/},下面一些代码的//只是我的一些简单示意)123456789101112131415161718 //实现页面时刻的显示function clock(){ let time = new Date().toLocaleTimeString() let element = ( ...
前端框架react自学之初见react(一)
终极目标:掌握和使用react
本博客目的:记录react学习的进度和心得(初见react)
内容:通过视频学习,掌握react基础语法。
前端框架react自学之初见react(一)React 构建用户界面的JavaScript库,主要用于构建UI界面。Instagram,2013年开源。
特点:1、声明式的设计
2、高效,采用虚拟DOM来实现DOM的渲染,最大限度的减少DOM的操作。
3、灵活,跟其他库灵活搭配使用。
4、JSX,俗称JS里面写HTML,JavaScript语法的扩展。
5、组件化,模块化。代码容易复用,2016年之前大型项目非常喜欢react
6、单向数据流。没有实现数据的双向绑定。数据-》视图-》事件-》数据
创建项目1、通过script引入使用,仅用于学习调试使用
1<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script><script crossorigin src="https ...
算法练习之剑指offer
这是关于提升自己算法编程能力的心得记录(近年前端面试对算法还是有要求的,还是得老老实实刷点算法题)。
主要思路是参考使用《剑指offer》,我是在牛客网下面刷题的:https://www.nowcoder.com/ta/coding-interviews
个人解题源码+个人分析笔记:https://github.com/xinkuiwu/algorithmTraining
算法练习之剑指offer由于最近对前端岗位的要求越来越高,对算法掌握也有所要求,本人即按照前人指引,先做剑指offer,再做LeetCode top 100。
我是使用JavaScript语言做的,每天坚持做几题,每周回顾一下做的题目,加深记忆。
个人解题源码+个人分析笔记:https://github.com/xinkuiwu/algorithmTraining
做剑指offer题的思路:
0 最好坚持每天做几题,算法很容易就忘了,要认真理解题目逻辑和解题思路。通常都是while(1){做了忘;忘了做}
1 看原题,理解题意,知道题目涉及哪些知识
2 先自己做,把自己不懂的点记录下来。是知识忘了要及时复习。例如 ...
个人项目之一个基于Vue技术栈的购物商城的单页面应用
这是关于使用vue技术栈(core+vue-router+vuex )做购物商城(仿蘑菇街)app项目的笔记。
个人项目源码:https://github.com/xinkuiwu/supermall
个人项目之一个基于Vue技术栈的购物商城的单页面应用注:本项目是根据codewhy的vue项目,一步步自己手码出来的项目,并修改了一些bug,欢迎相互交流~
个人项目源码:https://github.com/xinkuiwu/supermall
关键词JavaScript,Vue,路由切换,父子组件通信,状态管理,网络数据请求,CSS设计
项目总览本项目主要能实现购物商店的基本操作,如浏览商品种类及商品的详细信息,包括商品价格,参数,评论,相关推荐等并且能把商品添加在购物车,可自选或全选地将商品进行结账等功能。
项目前期准备是使用vue CLI3进行文件目录结构的生成,包括源码路径,文件资源路径,视图路径等等。此外,我还对其他一些文件进行目录管理,包括区分公共组件和业务组件,视图组件和其子组件等,目的是为了更好地以封装化思想实现组件的合理复用。
项目分为五个视图模块:主页,商品详情 ...
前端框架Vue自学之响应式原理(十)
终极目标:掌握和使用Vue(全家桶:Core+Vue-router+Vuex)
本博客目的:记录Vue学习的进度和心得(响应式原理)
内容:学习和理解响应式原理。
正文:
响应式原理一、Vue响应式原理 不要认为数据发生改变,界面随着更新,并不是理所当然的。其本质是基于vue内部 的流程。
1、vue流程图
Object.defineProperty
set get
发布者订阅者模式
理解双向绑定
2、
前端框架Vue自学之axios(九)
终极目标:掌握和使用Vue(全家桶:Core+Vue-router+Vuex)
本博客目的:记录Vue学习的进度和心得(axios)
内容:学习和使用axios,网络模块封装。
正文:
axios一、网络模块封装 1、网络请求
Vue中发送网络请求有非常多的方式,那么,在开发中,如何选择?
选择一:传统的Ajax是基于XMLHttpRequest(XHR)。一般不用,因为配置和调用方式等非常混乱。所以真实开发中很少直接使用,而是使用jQuery-Ajax。
选择二:jQuery-Ajax。相对于传统的Ajax,其有优势。但是也不选择它,因为Vue的整个开发中都是不需要使用jQuery。完全没有必要为了用网络请求就引用这个重量级的框架。
选择三:官网vue1.x的时候,推出了Vue-resource插件。Vue-resource的体积相对于jQuery小很多,并且是官网的。但也不选,Vue2.0推出后,作者不在更新。使用这个对以后的项目开发和维护存在很大的隐患。
选择四:axios。vue作者说明不在继续更新和维护Vue-resource插件,但推荐了一个框架: ...
前端框架Vue自学之Vuex(八)
终极目标:掌握和使用Vue(全家桶:Core+Vue-router+Vuex)
本博客目的:记录Vue学习的进度和心得(Vuex,终于到Vuex了,泪目)
内容:学习和使用Vuex。
正文:
Vuex一、Vuex概念和作用解析 1、认识Vuex
Vuex是一个专为vue.js应用程序开发的状态管理模式。
它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex也集成到Vue的官方调试工具,提供了诸如零配置的time-travel调试、状态快照导入导出等高级调试功能。Vuex也是响应式的。
2、状态管理
我们可以简单地将状态管理看成把需要多个组件共享的变量(状态)全部存储在一个对象里,然后,将这个对象放在顶层的Vue实例中,让其他组件可以使用。
看上去我们可以直接修改Vue的原型实现共享变量(自己封装也很麻烦),但其不是响应式的。而Vuex就是为了提供一个在多个组件间共享状态的插件并且还是响应式的。
3、管理什么状态
有什么状态是需要我们在多个组件间共享的呢?
如果我们做过大型开发,一定遇到过多个状态,在多 ...