首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2023 React 生态系统,以及我的一些吐槽……

可惜的是他仅仅列出了名字,没有继续深入介绍,我知道读者们有很多小懒蛋,那我就花点时间收集一些重点框架的详细介绍,如果我有一些看法(吐槽),我也会在下面的引用部分进行一些评价。...它们通常还需要对该数据进行更新、将更新发送到服务器,并使客户端上的缓存数据与服务器上的数据保持同步。...那么,我们能不能只需复用组件的交互逻辑,布局和样式完全自定义呢?显然,Headless UI 就是干这件事情的。...根据这篇文章的介绍,i18next 有着以下优点: 基于 i18next 不仅限于 react,学一次就可以用在其它地方 提供多种组件在 hoc、hook 和 class 的情况下进行国际化操作 适合服务端的渲染...历史悠久,始于 2011 年比大多数的前端框架都要年长 因为历史悠久所以更成熟,目前还没有 i18next 解决不了的国际化问题 有许多插件的支持,比如可以用插件检测当前系统的语言环境,从服务器或者文件系统加载翻译资源

78530

20个惊艳的React组件库,每一个都值得收藏(上)

正因如此,围绕React,涌现出了大量的组件库,这些组件库大大简化了开发过程,让开发者可以更专注于创意和业务逻辑的实现。 今天,我特别激动地向大家介绍20个惊艳的React组件库。...实践中的应用 想象一下,你正在开发一个需要高度定制布局的仪表盘或者是一个拖拽界面的网站,React Grid Layout可以让这一切变得轻而易举。...它不仅可以帮助你的产品触及更广泛的用户群,还能提升非英语用户的使用体验。React i18next是一个强大的国际化库,基于i18next项目构建,专为React应用设计。...灵活强大:支持从本地文件、服务器或其他来源加载翻译资源,同时提供丰富的配置选项以满足不同场景下的国际化需求。...丰富的样式选择:提供多种内置样式,也支持自定义样式,满足不同设计需求。 易于使用:通过简单的组件封装,可以轻松地在React组件中引入和使用,实现代码的高亮显示。

1.4K12
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    回望过去,展望未来- 2024 React 生态一览表

    甚至当时有一个职业就是CSS工程师,他啥都不干,只负责页面样式的书写。 在我毕业后,参与了一个项目,此时命运的齿轮转动了,前端就是用React,后端用的是Java。...在A组件的基础上,要新增部分功能需求,就需要使用三元运算或者if判断将页面的显示逻辑,变的支离破碎。...如果我们正在使用 React,ViTest 可以通过全面的测试帮助我们确保代码的可靠性和质量。 2....Emotion Emotion[15] 是另一个关注性能和灵活性的 CSS-in-JS 库。它提供了多种方式来定义和应用样式到 React 组件,包括字符串和对象样式。...i18next[30] 是 JavaScript 的一种流行的国际化框架,包括 React。它提供了一个全面的解决方案,用于处理翻译、格式化等。

    74010

    我用 React 和 Vue 构建了同款应用,来看看哪里不一样(2020 版)

    那么为什么 React 会费劲地将值与函数分开,还要使用 useState() 呢?这是因为当状态改变时,React 希望重新运行某些生命周期 Hooks。...== id)); }; 在 React 里是怎么做的?...这是因为我们使用了一种称为 解构 的技术,该技术允许我们获取 props 对象的一部分并将其分配给变量。...在父组件中我们编写一个函数,该函数侦听何时发射出该值,然后可以触发一个函数调用。可以在“如何从列表中删除项目”部分中查看全过程。 终于完成了!...当然,React 和 Vue 之间还有其他许多小差异和癖好,但我希望本文的内容有助于大家理解这两个框架是如何处理事物的。 如果你有兴趣 fork 本文中使用的样式,并想制作自己的类似作品,请自便!

    4.8K30

    基于 TS 的 React 模板项目,集成 eslint sass,采用 StandardJS 代码风格,包含自动注册组件等各项功能,新建项目或 React 学习必备

    i18next 官方网站 react-i18next 官方网站 采用 sass 为 css 预编译语言。...缺点 使用自动组件后,WebStorm 等 IDE 是无法通过你的引用自动跳转到该组件的。 不能有重名的文件,否则后面的会取代前面的。...某些组件可能已经不使用了,但是你也不想删了,可以将上面的 auto 部分给注释掉,在编译的时候,会自动摇树掉这个组件的(除非你又普通方式引用了-_-|||) 使用自动注册组件 在项目任意 tsx 文件中...然后对 JP.ts 配置文件进行微调即可。 增加新模块 在 @/lang/languages/{对应语言目录} 内,新增该模块命名的 ts 文件,并参考默认的 home 模块编写配置即可。...该命令会启动一个进程,当发现有新的 scss 文件时,就会自动添加进去。一般在项目稳定时,是不需要启动这个进程的。

    1.8K20

    分享 7 个实用的 JavaScript 库,提升你的开发效率

    非连续选择:用户可以选择表格中任意非连续的部分,方便对数据进行复杂操作。 数据过滤:提供数据过滤功能,帮助用户快速找到所需数据。 导出文件:可以将数据导出为文件,便于数据的共享和分析。...其他特性:包括支持变量替换、格式化、嵌套翻译等,这些都是构建多语言应用时不可或缺的功能。...https://github.com/i18next/i18next 3....主要特点: 查询字符串操作:URI.js 提供了方便的方法来操作URL中的查询字符串,比如添加、删除或修改查询参数。...过滤日志级别:你可以设置日志的级别,这样只有等于或高于该级别的日志信息才会显示,使得日志输出更加清晰、有针对性。 简洁性:它提供了一个简单的API,易于理解和使用,不需要复杂的配置。

    1.1K10

    Reactjs vs. Vuejs

    当时位居第一,短短数月 React、Vue 都有比较好的成绩,而 Angular 的 stars 没有明显增长,是否可以断章取义,Angular 正在慢慢地退出这个舞台。...在这里结合我的理解翻译一下, React 团队坚信一个组件的正确用途是 “separate concerns”,而不是前端模板或者展示逻辑。我们认为前端模板和组件代码是紧密相连的。...细心的同学可能发现了,React也有 ref 属性,它也可以让父组件调用子组件的 api,但实际项目中却很少看到,为什么大家都这么同步一致呢?...这里好像要黑 Vue,其实是我一开始的误解),Counts 组件需监听两个事件(plus & minus),在事件回调中去更新条数,当 List 进行add() 或 delete() 需触发plus /...最后,这两个框架的路线有差异,Vue 偏向大而全,把很多特性都封装进核心库,React 则不同,React 核心库只是 React 生态圈很小一部分,只负责 view 这个层面,其它事情都是由大家一起完成

    6.5K00

    2022 年的 React 生态

    然而如果你正在为你的 React 项目寻找专门的 GraphQL 库,我还是推荐你去看看 Apollo Client(当前最流行的)、urql(轻量级)或 Relay(Facebook 维护)。...链接: React Router:https://reactrouter.com/ ---- 样式/CSS 在 React 中有很多关于 样式/CSS 的选项和意见,作为一个 React 初学者,可以使用一个带有所有...这样,它就不会意外泄露到其他 React 组件的样式中。你的应用的某些部分仍然可以共享样式,但其他部分不必访问它。...当你在某个时间点再次运行测试时,将创建另一个快照,这个快照会和前一个快照进行 diff。如果存在差异,Jest 将发出警告,你要么接受这个快照,要么更改一下组件的实现。.../aframe-react ---- 原型设计 如果你是一名 UI/UX 设计师,你可能希望使用一种工具来为新的 React 组件、布局或 UI/UX 概念进行快速原型设计。

    5.8K20

    基于react的组件库主题设计方案

    可配置 可配置分为两部分,一部分为可配置任意全局统一的样式变量,或者某个组件的局部样式;另一部分为强制模式,即指定部分组件不跟随主题变化而变化,保留着本身一种样式。...如果希望针对某个样式值进行重写,可以 value={textBaseColor: "#555555"}。...何时会使用到该模式呢?...上文中提到主题的切换均作用于组件库中的组件,当业务不需要组件而需要获取样式表的内容进行其他操作时,我们需要给到业务侧当前的主题样式表,使得用组件库的业务可以做更多的界面统一。...&& versionCompare("2.0.3", HippyReact.version))) && ThemeContext; 对于低版本使用到主题功能的部分,我们同样需要给到指定的样式表 Provider

    7.5K2622

    【useState原理】源码调试吃透REACT-HOOKS(一)

    开始之前,先抛出几个问题: react-hook解决了什么问题? react中的函数是无状态的,hook是怎么做到赋予其状态的? 典型问题:为什么hook必须在顶层调用?...「current、workInProgress、renderLanes」,前两者对应react架构中的两颗Fiber树,renderLanes则是和优先级相关的参数,和Scheduler相关,这一部分我还没仔细研究暂时...current Fiber树,正在内存中构建的Fiber树称为workInProgress Fiber树 之所以要有两根Fiber树是因为react使用了一种“双缓存机制”,这种机制的意义是可以把当前页面下一帧放到内存中绘制...翻译过来就是,我的理解是这里的作用是清除当前Fiber节点的遗留状态。...,这里主要是两部分: mountHookypesDev mountState ​ 一步步来: a. mountHookypesDev 其实mountHookypesDev并不是一个很难理解的部分,但是为什么要拿出来说呢

    52011

    十分钟带你入门 Web Components

    但现在我们的组件库,更多的是基于某个框架去实现,比如 Vue 的 ElementUI,React 的 ANTD。...这种组件的缺点就是对外部框架的依赖,你必须基于 Vue 或者 React 才能使用,假如某一天项目迁移又得重新书写一套。 那能不能基于原生的 HTML/CSS/JS 就能封装的组件规范呢?...抽象:组件通过属性和事件、方法等基础设施提供了一种描述 UI 的统一模式,降低了使用者学习的心智成本。 那 Web Components 怎么做到以上几点的呢?...通过这种方式,您可以保持元素的功能私有,这样它们就可以被脚本化和样式化,而不用担心与文档的其他部分发生冲突。...该占位符可以在后期使用自己的标记语言填充,后面我们会提到。它的使用跟 Vue 的插槽是一样的。应该说 Vue 借鉴了它的实现。

    1.8K11

    实现全球化:深入理解国际化框架的构建

    尽管以 JavaScript 为核心的 i18n 库(如 i18next、react-intl 和 react-i18next)是该领域的主流工具,可帮助开发人员高效地处理翻译和本地化相关的配置,但它们仅适用于基于...深入了解 i18n 库的工具箱,你会发现以 JavaScript 为核心的解决方案占据了主导地位,尤其是那些围绕 React 的解决方案(如i18next、react-intl和react-i18next...我们会为每种本地语言使用单独的配置文件,并以 JSON 格式进行编码。这种模块化方式简化了翻译的添加和修改,无需进行代码的变更。...getTranslation方法使用标识符获取所需的翻译字符串。 优点: 保留了上述方式的所有优点:覆盖面广,加载后无需使用网络就能进行翻译,代码易于搜索和阅读。...动态字符串处理 如果要翻译的字符串有一部分内容是动态的,那么就需要一种更灵活的解决方案。

    37510

    【React Conf 2018 回顾】React 的今天和明天 II —— React Hooks 提案

    本文是我和程序媛_小发在 2018 年翻译的 React Conf 2018 的主旨演讲的第二部分,由 React 核心组成员、Redux 作者、被尤雨溪评价为“圣人”、外号 Demo Boy 的 Dan...那么平时我们在 React 里通常是怎么做的呢?我们需要在这里添加一个 input,需要将这些内容放到class 里面返回,添加一些本地 state,让 state 来驱动 input。...我不确定该怎么做。但是我就准备根据我的已知来进行,我需要渲染一个 input。我在这里放入一个 input。这个 input 的 value 的值为当前的 name 的值,所以我就传入 name 值。...我把这里改为更通用的 value 和 setValue。我把初始值作为参数。这里改为 handleChange,这里改为 setValue。那么我们该如何做在我们组件里面使用输入框呢?...而且我们没有弃用 class,但是我们给你们提供了一个不去写 class 的新选择。我们打算尽快完成使用 hook 来替代 class 的全部用例。目前还有一部分缺失,但是我们正在处理这部分内容。

    2.9K30

    SVGEdit:老牌开源 SVG 编辑器是如何架构的?

    技术栈 Web Component + SVG + Rollup + i18next UI 使用了 Web Component,浏览器原生支持的组件方案。...它没有用 React、Vue 这些 UI 框架,而是选择 Web Component,我认为这是一个糟糕的决策。...以左侧栏 LeftPanel 为例,HTML 为: 这里的 se-button 就是一个 Web Component 组件,里面有局部样式和交互逻辑,类似 React 和 Vue。...SVGEdit 使用了 patch(打补丁)的方式记录历史操作,没有使用图形树快照的方式。 下面是移动一个矩形产生的操作命令,它记录了修改图形属性的命令,该命令保存了一个元素修改前后的属性。...简评 UI 框架应该选择 React 或 Vue。 这样项目才会有更多人使用,作为一款比较古早的编辑器才可能焕发第二春。

    76830

    11个让你的 React 应用程序更加出彩的库

    1、Lodash JavaScript 程序员可能都熟悉lodash,但 React 的新手可能不知道,每当你使用create-react-app. lodash可以消除处理数组、数字、对象、字符串等的麻烦...使用react-icons可以 从十多个库和数千个图标中进行选择,包括许多品牌徽标。...它很简单,其默认样式可提供流畅的用户体验。 要实现,请使用下面的代码作为起点。...#installation 8、react-credit-cards 如果你正在开发使用信用卡付款的电子商务应用程序,那么这个库特别适合你。...了解更多信息地址:ttps://react.semantic-ui.com/ 综上所述 无论你是 React 的新手还是从它一开始就一直在使用它,你一定会在某个时候使用不同的库。

    1.6K10

    React 面试必知必会 Day7

    大家好,我是洛竹?,一只住在杭城的木系码妖??‍♀️,如果你喜欢我的文章?,可以通过点赞帮我聚集灵力⭐️。...本文首发于 洛竹的官方网站 本文翻译自 sudheerj/reactjs-interview-questions 1. 如何在 React 使用样式?...当你使用 setState() 时,除了分配给对象的状态外,React 还重新渲染组件和它的所有子组件。你会得到这样的错误:只能更新一个已挂载或正在挂载的组件。...在某些情况下,你想根据一些状态来渲染不同的组件。JSX 不渲染 false 或 undefined,所以你可以使用条件性短路来渲染你的组件的某一部分,只有当某个条件为真时。...如何在 React 中使用装饰器? 你可以对你的类组件进行装饰,这与将组件传入一个函数是一样的。「装饰器」是修改组件功能的灵活和可读的方式。

    2.6K20

    微前端方案 qiankun 的样式隔离能不用就别用吧,比较坑

    除了 JS 隔离,还有 CSS 的隔离,不得不说,qiankun 的样式隔离是真的坑,也是我这主要想吐槽的点。 哪里坑呢? 跑一下就知道了。...所以 qiankun 的 shadow dom 的样式隔离方案是有问题的。 再来看另一种,这种是实验性的,所以叫 experimentalStyleIsolation: 它是怎么做的样式隔离呢?...scoped css 是 vue loader 实现的组件级样式隔离方案,用起来只要给单文件组件的 style 加一个 scoped 属性: css 选择器就会加上 data-xx 的修饰,这样就限制了样式只会在组件范围内生效...你还可以加个 :global() 把某个选择器变为全局的: 这样就相当于 scoped css 的 /deep/ 和全局样式功能了。...,只是实现和使用方式不同。

    2.8K30

    前端框架「React」 VS 「Svelte」

    我只想从开发人员的角度看看,在使用 Svelte 和 React 开发应用程序时,感觉好吗?有趣吗?直观吗? 开工!...请注意第 6 行代码的语法,忽略掉下一节要介绍的样式部分,直接看按钮点击的事件侦听器,它跟以往使用的习惯不同。 Svelte 使用一个 on: 指令来给 DOM 元素添加事件侦听器。...「动态样式」 在这个应用中 Button 组件介绍一个颜色值作为属性,该颜色值就是按钮的背景色。 「Svelte」 Svelte 的动态样式没有我期望的那么直接。...直接在元素上编写样式是最常用的方法。 要在 JSX 中使用内嵌样式,可以使用样式创建一个对象,然后赋值给元素的 style 属性,剩下的部分前面已经实现过了。...你对这两个框架的感觉怎样呢? 本文翻译自 React vs.

    3.6K30

    React vs Svelte

    我只想从开发人员的角度看看,在使用 Svelte 和 React 开发应用程序时,感觉好吗?有趣吗?直观吗? 开工!...请注意第 6 行代码的语法,忽略掉下一节要介绍的样式部分,直接看按钮点击的事件侦听器,它跟以往使用的习惯不同。 Svelte 使用一个 on: 指令来给 DOM 元素添加事件侦听器。...「动态样式」 在这个应用中 Button 组件介绍一个颜色值作为属性,该颜色值就是按钮的背景色。 「Svelte」 Svelte 的动态样式没有我期望的那么直接。...直接在元素上编写样式是最常用的方法。 要在 JSX 中使用内嵌样式,可以使用样式创建一个对象,然后赋值给元素的 style 属性,剩下的部分前面已经实现过了。...你对这两个框架的感觉怎样呢? 本文翻译自 React vs.

    3K30
    领券