前端组件

快速学习ReactJS-简介

流过昼夜 提交于 2020-01-18 17:31:06
2.2、ReactJS简介 官网: https://reactjs.org/ 官方一句很简单的话,道出了什么是ReactJS,就是,一个用于构建用户界面的JavaScript框架,是Facebook开发的一款的JS框架。 ReactJS把复杂的页面,拆分成一个个的组件,将这些组件一个个的拼装起来,就会呈现多样的页面。ReactJS可以用 于 MVC 架构,也可以用于 MVVM 架构,或者别的架构。 ReactJS圈内的一些框架简介: Flux Flux是Facebook用户建立客户端Web应用的前端架构, 它通过利用一个单向的数据流补充了React的组合视图组件,这更是一种模式而非框架。 Redux Redux 是 JavaScript 状态容器,提供可预测化的状态管理。Redux可以让React组件状态共享变得简单。 Ant Design of React 阿里开源的基于React的企业级后台产品,其中集成了多种框架,包含了上面提到的Flux、Redux。 Ant Design提供了丰富的组件,包括:按钮、表单、表格、布局、分页、树组件、日历等。 来源: CSDN 作者: cwl_java 链接: https://blog.csdn.net/weixin_42528266/article/details/104031056

React16源码解读:揭秘ReactDOM.render

筅森魡賤 提交于 2020-01-18 17:22:45
引言 在 上一篇文章 中我们通过 create-react-app 脚手架快速搭建了一个简单的示例,并基于该示例讲解了在类组件中 React.Component 和 React.PureComponent 背后的实现原理。同时我们也了解到,通过使用Babel预置工具包 @babel/preset-react 可以将类组件中 render 方法的返回值和函数定义组件中的返回值转换成使用 React.createElement 方法包装而成的多层嵌套结构,并基于源码逐行分析了 React.createElement 方法背后的实现过程和 ReactElement 构造函数的成员结构,最后根据分析结果总结出了几道面试中可能会碰到或者自己以前遇到过的面试考点。上篇文章中的内容相对而言还是比较简单基础,主要是为本文以及后续的任务调度相关内容打下基础,帮助我们更好地理解源码的用意。本文就结合上篇文章的基础内容,从组件渲染的入口点 ReactDOM.render 方法开始,一步一步深入源码,揭秘 ReactDOM.render 方法背后的实现原理,如有错误,还请指出。 源码中有很多判断类似__DEV__变量的控制语句,用于区分开发环境和生产环境,笔者在阅读源码的过程中不太关心这些内容,就直接略过了,有兴趣的小伙伴儿可以自己研究研究。 render VS hydrate

Django之Form组件

和自甴很熟 提交于 2020-01-18 02:46:36
一. Django的Form组件的基本使用 1. Form组件的主要功能  <1>生成HTML标签  <2>验证用户数据(显示错误信息)  <3>HTML Form提交保留上次提交数据  <4>初始化页面显示内容 2. Form组件基本流程  创建Form类->views函数处理,验证用户输入->生成HTML并保留提交内容  2.1 Form表单提交方式  <1>创建Form类 #-*-coding=utf-8-*- from django.core.exceptions import ValidationError from django.forms import Form from django.forms import widgets from django.forms import fields class MyForm(Form): user = fields.CharField( required=True, min_length=3, max_length=12, label='用户名', error_messages={'required':'用户名不能为空','min_length':'用户名长度为3-12之间','max_length':'用户名长度为3-12之间'}, #自定制HTML标签和属性 widget=widgets.TextInput(attrs={

Vue面试题

回眸只為那壹抹淺笑 提交于 2020-01-18 02:44:44
1.Vue.js介绍 Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API; Vue.js是一个构建数据驱动的Web界面的库。 Vue.js是一套构建用户界面的 渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和 Vue生态系统支持的库开发的复杂单页应用。数据驱动+组件化的前端开发。 简而言之:Vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API实现响应的数据绑定和组合的视图组件。核心是一个响应的数据绑定系统。 2.什么是 mvvm? MVC MVP MVVM MVVM 是 Model-View-ViewModel 的缩写。mvvm 是一种设计思想。Model 层代表数据模型,也可以在 Model 中定义数据修改和操作的业务逻辑;View 代表 UI 组件,它负责将数据模型转化成 UI 展现出来,ViewModel 是一个同步 View 和 Model 的对象。 3.简述Vue的响应式原理 当一个Vue实例创建时,vue会遍历data选项的属性,用 Object.defineProperty 将它们转为 getter/setter并且在内部追踪相关依赖

微服务,为什么从前后端分离开始?

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-17 12:23:47
关注「 IT老兵哥 」,赋能程序人生!既要低头赶路,又要抬头望天,科技是为人服务的,任何技术背后都有更深层次的考量,在本系列的第一篇文章中我们聊了微服务的本质,它是一种可以加速分工、促进合作的新协作机制。知其然,知其所以然,在第二篇文章中我们剖析了微服务为什么可以加速分工、促进合作,今天我们再接着来聊聊怎样开启微服务架构之旅。 微服务到底改变了什么,你知道吗? 微服务,为什么可以加速分工、促进合作? 1. 从前后端分离开启微服务改造 现在我们对微服务有了更深入的了解,也准备在构建新系统时采用这套新架构了,但它还是有些复杂度的,包括服务注册中心、统一配置中心、微服务网关、接入层网关、服务治理中心、调用链路追踪、分布式事务和分布式调度等众多组件。一口吃成胖子仅仅是一个美好的愿望,从单体式架构直接升级至全微服务架构,需要掌握这套全新的技术栈,对于缺乏前期铺垫的团队来说,学习曲线还是比较陡的,真正遇到的挑战往往超出想象的。 心理学对此有专门的研究,我们探索陌生世界的动力源于兴趣,而兴趣就是好奇心和正向反馈。如果我们刚开始就把目标设定的太高太远,在坚持努力了一段时间之后,还无法达成目标的话,那我们就接收不到正向反馈。久而久之,好奇心就会消磨殆尽,兴趣也就随之消失了。最靠谱的方式就是段带式进阶,将一个非常宏大的目标拆解成多个阶段性目标。在当前能力水平下

前端系统设计

大兔子大兔子 提交于 2020-01-17 08:30:14
前端系统设计 前端三大件:html、css、js,万变不离其中,不管我们使用的是vue、react、angular还是其他什么,都是要提高我们代码的复用性、可读性、可维护性以及可拓展性。 html 语义化的标签,在不借助任何前端框架的情况下, < header > < section > < nav > < ul > < li > < a href = " # " > 菜单1 </ a > </ li > < li > < a href = " # " > 菜单2 </ a > </ li > </ ul > </ nav > </ section > </ header > 这种方式能有一定的可读性,但在更为复杂的页面的结构之下是不是缺失了可读性和可维护性。 组件化控制html结构,运用组件化架构的方式将一个页面划分为多个组件,包括项目级组件(在整个范围都会使用到的)和页面级组件 组件化的优势点: 提高复用性 举例:按钮组件,整个系统的按钮风格应该大致差不错,拥有的行为也差不多。我们将按钮单独抽离出来作为一个单独的组件,它拥有自己独立的结构、样式、行为,遵从单一职责、开闭原则,当我们在构建下一个页面的时候,直接引入既可以使用,达到了提高复用性的效果。 提高可读性 举例:我们一个页面有很多的内容,以上图来看,我们这个页面的结构大致是,头部,导航栏,搜索框,按钮组

【Bootstrap】 bootstrap-select2下拉菜单插件

元气小坏坏 提交于 2020-01-17 01:45:43
  这次开发了个小TRS系统,虽然是很小,但是作为初心者,第一次用到了很多看起来洋气使用起来有相对简单的各种前端(主要是和bootstrap配合使用)组件。包括bootstrap-select2,bootstrap-datetimepicker,bootstrap-fileinput等。本文就旨在记录一些这些组件相关的内容 【bootstrap-select2】   官方文档:【https://select2.org/options】   这个组件主要用于优化<select>等页面组件。比如我们想要在下拉菜单的顶部加上一个搜索框支持我们对选项进行搜索,抑或是在多选下拉菜单中我们要有那种类似于tag形式的表现,用这个组件就很好了。首先是这个组件需要在页面中进行引入的文件: <link href="{% static 'select2/dist/css/select2.min.css' %}" rel="stylesheet" /> <script src="{% static 'select2/dist/js/select2.min.js' %}"></script> <script src="{% static 'select2/dist/js/i18n/zh-CN.js' %}"></script>   zh-CN.js是语言翻译文件,需要注意引入必须在select2.min

web前端入门到实战:十个最流行的前端 CSS 库

空扰寡人 提交于 2020-01-17 00:38:47
前端 CSS 库,可以帮助用户分担样式设计,从而显著提高原型制作速度;用户则可以凭借前端框架,更加轻松地构建起直观的可用应用程序。目前市场上存在大量前端框架可供选择,本篇文章的主要内容就是关于那些目前最为流行且常用的框架。 为什么要使用 CSS 库,而不选择自定义 CSS?简而言之,时间是一种宝贵的资源,我们不该把它浪费在样式的构建身上。从零开始构建 CSS 是否性能好、效果佳?答案当然是肯定的。但除非您是位身经百战的 CSS 视觉创意人士,否则把这项工作交给专家才是最好的选择。 与此同时,框架则能够更轻松地快速构建起直观的可用应用程序。凭借着极高的人气,目前市场上存在大量前端框架可供我们选择。 Ant Design 项目概括 “Ant Design 能够帮助每一位项目成员降低设计与原型设计工作的难度,同时提高后台应用程序与产品的开发效率。” ——摘自 Ant Design 官网 Ant Design 是一种面向后台应用的设计语言,由 Ant UED 团队开发而成。他们希望借此统一内部后台项目的用户界面规范、减少设计差异以及不必要的实现成本,从而解放出更多可用于设计以及前端开发的宝贵资源。 特性 一种面向 Web 应用程序的企业级 UI 设计语言。 一套开箱即用的高品质 React 组件。 由 TypeScript 编写而成并拥有完整的定义类型。 整套开发与设计资源及工具。

React Hooks 实现和由来以及解决的问题

谁说我不能喝 提交于 2020-01-16 19:59:28
与React类组件相比,React函数式组件究竟有何不同? 一般的回答都是: 类组件比函数式组件多了更多的特性,比如 state ,那如果有 Hooks 之后呢? 函数组件性能比类组件好, 但是在现代浏览器中,闭包和类的原始性能只有在极端场景下才会有明显的差别。 性能主要取决于代码的作用,而不是选择函数式还是类组件。尽管优化策略有差别,但性能差异可以忽略不计。 参考官网:( https://zh-hans.reactjs.org/docs/hooks-faq.html#are-hooks-slow-because-of-creating-functions-in-render ) 参考作者github:( https://github.com/ryardley/hooks-perf-issues/pull/2 ) 而下面会重点讲述:React的函数式组件和类组件之间根本的区别: 在 心智模型 上。 简单的案例 函数式组件以来,它一直存在,但是经常被忽略: 函数式组件捕获了渲染所用的值。(Function components capture the rendered values.) 思考这个组件: function ProfilePage(props) { const showMessage = () => alert('你好 ' + props.user); const

react简介

倾然丶 夕夏残阳落幕 提交于 2020-01-16 12:30:49
ReactJS简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用, 就在2013年5月开源了 。 由于 React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。所以,越来越多的人开始关注和使用,认为它可能是将来 Web 开发的主流工具。 library Framework 前端三大主流框架 Angular.js:出来最早的前端框架,学习曲线比较陡,NG1学起来比较麻烦,NG2开始,进行了一系列的改革,也开始启用组件化了;在NG中,也支持使用TS(TypeScript)进行编程; Vue.js:最火的一门前端框架,它是中国人开发的,对我我们来说,文档要友好一些; React.js:最流行的一门框架,因为它的设计很优秀; windowsPhone 7 7.5 8 10 React与vue.js的对比 组件化方面 什么是模块化:从 代码 的角度,去分析问题,把我们编程时候的业务逻辑,分割到不同的模块中来进行开发,这样能够 方便代码的重用 ; 什么是组件化:从 UI 的角度,去分析问题,把一个页面,拆分为一些互不相干的小组件,随着我们项目的开发,我们手里的组件会越来越多,最后,我们如果要实现一个页面