Web前端框架合集__个人小结

发布于:2023-01-05 ⋅ 阅读:(389) ⋅ 点赞:(0)

Web前端

前端主流框架

React

简介: 1.React是Facebook创建的JavaScript UI框架 新的语法——JSX(JavaScript混合着XML语法)

      2.React的react-router和react-redux是由社区成员维护,它们都不是官方维护的。

      3.React Native能在手机上创建原生应用,React在这方面处于领先位置。使用JavaScript, CSS和HTML创建原生移动应用,这是一个重要的革新。

创建项目:create-react-app 文件名

常用包:npm i axios mockjs redux react-redux react-router-dom react-loadable redux-thunk redux-logger --save

接口:cnpm run eject

起服务: npm start

React+TS

创建项目:create-react-app 文件名 --template typescript

常用包:npm i axios @types/axios  mockjs  @types/mockjs redux @types/redux  react-redux @types/react-redux  react-router-dom @types/react-router-dom react-loadable @types/react-loadable redux-thunk redux-logger @types/redux-logger moment better-scroll --save

起服务: npm start

Vue

简介:  1.Vue.js的作者尤雨溪曾说过,(Vue的)解决方案适用于小型应用,但对于对于大型应用而言不太适合。

       2.Vue的核心团队维护着vue-router和vuex,它们都是作为官方推荐的存在。

       3.Vue社区与阿里合作开发Vue版的React Native——Weex也很不错,但仍处于开发状态且并没经过实际项目的验证。

创建项目:vue create 文件名

常用包:npm i axios mockjs vue-router vuex vant --save

起服务:npm run serve

React与Vue存在很多相似之处:

他们都是JavaScript的UI框架,专注于创造前端的富应用。

React与Vue只有框架的骨架,其他的功能如路由、状态管理等是框架分离的组件。

不同于早期的JavaScript框架“功能齐全”。

React 钩子函数:

componentWillReceiveProps( ){ } //专属props监听    state修改后不执行该钩子函数

shouldComponentUpdate( ){ }    //react中唯一可以阻止是否需要重新渲染的生命周期        

componentWillMount( ){ }   //挂载前         不属于react存在期的钩子函数

render( ){ }                          //挂载结构

componentDidMount( ){ }   //挂载完成

componentWillUpdate( ){ }  //更新前

componentDidUpdata( ){ }  //更新后         react存在期中不包含该钩子函数

componentWillUnmount( ){ } //卸载时

getDerivedStateFromProps( ){ } //代替了componentWillMount(){}、componentWillReceiveProps(){}、componentWillUpdate(){} (17.0版本后这三个钩子函数消失)必须有一个返回结果,否则报错

getSnapshotBeforeUpdate( ){ } //模块更新时所触发的钩子函数,该钩子函数需与componentDidUpdate 一起搭配使用,而且该函数得有一个返回值,虚拟DOM即将渲染成真实DOM的时候执行,在此方法中操作DOM最为准确,该钩子函数返回值会作为componentDidUpdate的第三个参数存在

setState   是一个异步方法 而且如果在同一操作中有多个setState的话,它会将多个合并成一个去执行

Context    创建成功之后的对象身上提供了两个模块

<Context.Provider><Context.Provider/>  <Context.Consumer><Context.Consumer/>  的调用方式

Provider可以理解为是该跨级传参的一个入口模块  Consumer可以理解为是该跨级传参的一个出口模块

高阶函数 和 组件的关系

高阶函数 一个函数去处理另一个函数的逻辑代码 (一个函数接收一个函数类型的参数或者时一个函数返回另一个函数的代码)

高阶函数是某一个函数返回的一个组件

被高阶组件包裹的模块视为隐式为其添加了一个父组件(这个父组件是高阶函数内部创建的)

类似数组的新方法  ===>  map,filter,some,forEach,every等  

调用时两个括号  a()() 称为柯里化高阶函数

普通函数this指向 调用者  箭头函数指向 作用域     

   . . . 扩展内容(引用类型) 赋值方式 浅拷贝

const 引用类型时候可以改值 不可以改引用

受控组件 eg:vlaue属性 搭配合成事件的onChange事件动态获取到input框中的内容  根据获取的内容动态修改value内容

withRouter 路由 单独提供的一个高阶组件 HOC 具体用处 帮助没有被Router绑定 组件 路由 提供

Vue 钩子函数:

beforeCreate   在实例初始化之后,data observer 和事件配置之前调用

created        data已经初始化,计算属性、event/watch事件回调,但dom树并未挂载

beforeMount    在挂载前被调用render函数首次被调用生成虚拟dom

mounted        挂载完成,dom树已经完成渲染到页面,可进行dom操作

beforeUpdate   数据有更新被调用

updated        虚拟dom重新渲染补丁以最小dom开支来重新渲染dom

beforeDestroy  实例销毁之前调用在这还可以访问实例的数据

Destroyed      组件销毁后调用

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到