首页 > 其他分享 >react使用体验

react使用体验

时间:2022-11-08 18:57:29浏览次数:41  
标签:vue 函数 框架 体验 react 使用 组件 JSX

img

我是先使用vue2,然后vue3,最后就是现在的react。

这几个框架用下来,说一说我对它们的理解吧。

其实严格上来说,react只是一个库。因为官网上就是这么写的:“用于构建用户界面的JavaScript库”。事实上,它做得事情也确实少,简单地说,就是提供了组件化方案和模板化语言JSX。但也就这两个功能,这让我们构建大型项目变得轻松许多。

学习react的时候,经常看到vue和react之争。其实我觉得都不错,但要是说让我评价谁更高级的话,我认为是vue,因为vue的代码更加规范,并且提供了很多小功能,比如指令(v-if、v-for、v-bind、v-on)、修饰符(.stop、.lazy、.sync)等等,以及对state的访问优化让vue的代码更加简洁。vue可以说是真正的框架,而react还只是一个库。从功能的角度来评价主流三大框架,应该是angular>vue>react。但如果说从影响力的角度来评价,那毫无疑问是react。因为react出现得更早,并且社区更丰富。

使用过vue和react开发过项目后,我认为两个框架都很好用。vue的特点是规范、开箱即用,react的特点是灵活、更好地复用。

为什么react的特点之一是更好的复用呢?那是因为react中js和JSX代码可以写在一起,JSX也是js中的一员。正是这个特性让react更加灵活,因为JSX可以参与计算!在react中,我们可以给一个函数传一些参数,然后函数返回一个独特的组件或JSX模板。并且,传给函数的参数也可以是JSX。于是我们就可以将一些相似的组件使用一个工厂函数来创建,秀!这是vue做不到的。

另外,react对TypeScript的支持更加好。react中创建组件的方式有函数和类,而我们可以给函数和类传递一些泛型,但vue中创建组件只能是先import进组件,然后放进<template>中,没法巧用泛型来复用代码。现在vue提供的JSX不知道能不能解决这个问题,因为我还没这么写过,但如果能的话,配合vue提供的一些开箱即用的方便功能,那应该会很舒服。

以上,就是我对react的使用体验。一开始刚从vue转到react很不适应,但慢慢地,觉得react不愧是最流行的框架,确实优秀。

标签:vue,函数,框架,体验,react,使用,组件,JSX
From: https://www.cnblogs.com/hdxg/p/16870798.html

相关文章

  • minio policy 使用
    minio参考awss3实现了用户的iam访问控制,使用体验是一致的,而且比较方便,比如我们创建了一个用户或者组之后就需要进行权限创建分配环境准备docker-compose文件......
  • 使用Rancher搭建K8S测试环境
    环境准备(4台主机,Ubuntu16.04+Docker1.12.6+SSH):rancher1192.168.3.160只做管理节点node1192.168.3.161K8S的节点1node2192.168.3.162K8S的节点2no......
  • Feign在K8s中的使用
    之前在SpringCloud中使用过@FeignClient的方式对服务进行调用,感觉使用起来还是很方便的,所以想要探索一下是否可以把@FeignClient用在K8s集群中进行服务间的调用;feign是一个......
  • mysql 5.7安装及使用binlog日志恢复数据库
    目录mysql5.7安装及使用binlog日志恢复数据库binlog日志介绍安装mysql5.7开启Binlog日志查看binlog日志状态和内容通过Binlog恢复数据清理MySQL的binlog日志自动删除手动......
  • 配置sshd_使用CA签名证书登录_更新sshd服务端的通讯密钥
    配置sshd_使用CA签名证书登录_更新sshd服务端的通讯密钥转载注明来源:本文链接来自osnosn的博客,写于2022-11-06.用CA签名证书登录请参考【SSH证书登录教程】,这个......
  • JavaScript 中如何使用状态模式简化对象
    英文|https://medium.com/frontend-canteen/simplify-your-object-with-state-pattern-in-javascript-8674ff46edb1翻译|杨小爱状态模式是一个有趣的模式,它可能是解决一......
  • 9 个你可能从未使用过的很棒的 CSS 属性
    英文|https://javascript.plainenglish.io/9-awesome-css-properties-that-you-probably-have-never-used-8cc4c385c3c6翻译| 杨小爱如今,网络上的每个网站或Web应用程......
  • DGL使用手记
    DGL简介DGL(DeepGraphLibrary)是一个用于搭建图神经网络的框架,支持pytorch,TensorFlow,MXNet等机器学习框架,集成了图神经网络的许多功能.编写这篇文章的契机是由于t......
  • MvvmLight的接班人CommunityToolkit.Mvvm包使用介绍
    前面在一家军工类企业上班,公司没有网。最近在需要使用MVVM框架的时候才发现MvvmLight作者宣布停止更新了,有点可惜。微软出了一个CommunityToolkit.Mvvm包来接MvvmLight的......
  • 完整的Android使用Messenger实现跨app通信,设置api和sdk版本30以上,设置包可见性(Androi
    服务端packagecom.jay.msgapp2;importandroid.app.Service;importandroid.content.Intent;importandroid.os.Bundle;importandroid.os.Handler;importandroi......