首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

32K star 的 Chakra UI,以及未来的展望

我们的用户最常提出的要求之一就是去掉运行时 CSS-in-JS,因为这样可以提高性能,减少初始 JS 负载,并且使得 Chakra 可以在 React Server Components(RSC)中使用...以下是我们对 Chakra UI 未来的一些要求: 跨框架支持:Chakra UI 是一个跨框架库。它可以在 React、Vue、Angular、Svelte Solid 中使用。...分解单体应用 目前,我认为 Chakra UI 是一个由不同关注点组成的巨大单体应用。我们有紧密耦合在一起的 React hooks、组件、主题系统、样式系统多态类型。...Headless UI 组件:针对状态机的特定框架包装器。类似于适用于所有框架的 Radix UI运行时 CSS-in-JS(Panda) 这是我们从用户那里接到的的最常见最具挑战性的请求。...随着 React Server Components 的发布,能够在服务器上编写 Chakra UI 组件变得至关重要。这对于性能、开发用户体验都是巨大的胜利。

31730

Unity ugui屏幕适配与世界坐标到ugui屏幕坐标的转换

通过上面的观察我们可以发现,当以宽度进行适配时,只与参考分辨率的宽度屏幕分辨率的宽度有关,是以这两个数值的比例进行的画布缩放; 同样的道理,如果我们设置为以高度进行匹配,就与屏幕的宽度参考分辨率的宽度无关了...上面这一点非常重要,一定要非常清楚的,不然很可能会在适配坐标转换时踩坑。(例如很多人是宽度宽度适配缩放,高度高度适配缩放,最后计算的结果可想而知!)...但事实上这种可能性几乎为,当参考分辨率的宽高比大于屏幕分辨率的宽高比时,此时屏幕分辨率看上去会比参考分辨率显得更高,所以此时应该以参考分辨率的宽度进行匹配,将高度进行对应比例的压缩,宽度则保持不变。...如果此时还以高度进行匹配,则缩放幅度明显会比之前大,此时宽度的改变值会比高度的改变值更大,这样就无法达到最低限度的画布缩放。...得到屏幕坐标后,此时的坐标并不能直接就按照该值点在画布上,因为屏幕坐标值画布所给的参考分辨率的值一般是不相同的,所以这个值还要按照一定的缩放比例点在画布正确的位置。

2.6K10

高效 UI 组件,节省开发时间 | 开源专题 No.70

chakra-ui/chakra-uihttps://github.com/chakra-ui/chakra-ui Stars: 35.6k License: MIT chakra-ui 是一个为 React...应用程序提供的简单、模块化可访问的 UI 组件库。...提供一套布局组件,如 Box Stack,通过传递 props 轻松设置样式 组件基于 React UI Primitive 构建,具有无限可组合性 遵循 WAI-ARIA 指南规范,并具有正确的...aria-* 属性以达到无障碍标准 大部分 Chakra UI 组件都支持暗黑模式 简洁易懂且灵活可变动性强大:Chakra UI 的设计理念是简洁明了并且高度模块化 其主要特点包括: 易于样式设计:Chakra...可以自由地进行混搭与重复使用:所有 Charka UI 的元素都是在 React 基础上开发出来,在保证功能完整性同时也保留了足够多可以修改与调整空间。

10610

Dooring-Saas低代码技术详解

hello, 大家好, 我是徐小夕, 今天和大家分享一下基于 H5-Dooring代码 开发的全新代码搭建平台 Dooring-Saas 的技术架构设计实现思路....此外还支持自定义组件,二次开发,设计模板等能力,以满足功能跨领域的分层需求。 开箱即用, Dooring 内置了表单渲染器、页面渲染器、动态加载内核等,仅需一套源码即可上手开发。..., 这是应该我们需要配置一下组件的初始化元信息, 比如从组件面板拖入画布之后的组件大小, 组件的名称等, 具体的定义路径在: editor/src/components/BasicShop/template.ts...具体定义介绍: { base: [ { type: 'Header', // 组件类型 h: 66, // 组件初始高度px...渲染器设计 渲染器主要包括搭建模式渲染模式两部分, 接下来具体介绍一下.

25820

(转载非原创)React 并发功能体验-前端的并发模式已经到来。

无法并发执行多线程工作。界面渲染也是一样的。 一旦 React 开始渲染某些东西,无法中断直到运行完成。React 开发人员将这种渲染称为“阻塞渲染”。...无中断渲染 通过可中断渲染React.js 在处理重新渲染列表时不会阻塞 UI。它通过暂停琐碎的工作、更新 DOM 并确保 UI 不会卡顿,使 React.js 更加细化。...本文以像素应用为例在150*150的画布上随机分布像素并包含一个搜索框,每次用户点击搜索框时候,画布会重新渲染自己。 即使UI 界面无法在并发模式下渲染,用户输入也不会停止更新。...我们看到的第一个屏幕是初始屏幕。使用传统或块渲染是现在React 的做法。可中断渲染是并发模式的测试功能。我们先看看传统的渲染工作。 像素画布在每次击键时重新渲染。...在为每次击键并行重新渲染画布时,UI 不会停止或停止。 重新渲染完成后,React 会更新 UI

5.8K00

React 并发功能体验-前端的并发模式已经到来。

无法并发执行多线程工作。界面渲染也是一样的。 一旦 React 开始渲染某些东西,无法中断直到运行完成。React 开发人员将这种渲染称为“阻塞渲染”。...无中断渲染 通过可中断渲染React.js 在处理重新渲染列表时不会阻塞 UI。它通过暂停琐碎的工作、更新 DOM 并确保 UI 不会卡顿,使 React.js 更加细化。...本文以像素应用为例在150*150的画布上随机分布像素并包含一个搜索框,每次用户点击搜索框时候,画布会重新渲染自己。 即使UI 界面无法在并发模式下渲染,用户输入也不会停止更新。...我们看到的第一个屏幕是初始屏幕。使用传统或块渲染是现在React 的做法。可中断渲染是并发模式的测试功能。我们先看看传统的渲染工作。 ? 像素画布在每次击键时重新渲染。...在为每次击键并行重新渲染画布时,UI 不会停止或停止。 ? 重新渲染完成后,React 会更新 UI

6.2K20

精读《如何抽象可视化搭建》

大屏搭建:逻辑层、画布编辑控制器层、可视化控件基础图形控件、业务层。 最底层的逻辑层应该可以统一所有类型搭建系统,并成为开发人员统一上下文的。它可以包含以下基础能力: 定义组件树结构。...在逻辑层完备后,再开发上层应用就会轻松很多,只要注册组件、根据业务需要在组件树初始化或组件初始化,或组件元信息注册时添加定制逻辑,与系统功能对接,并补充业务特色的如自定义布局能力,这样就可以用简单的三言两语说清楚整个系统是如何设计的...定义对组件树增删改查函数 有了组件树肯定需要对其进行增删改查操作,因为无法基于 document API,上层框架如 vue、react 也不提供对任何标准组件树的增删改查 API,这部分能力势必要手动实现...组件渲染 通常一棵树按照 json 结构描述自顶向下自动渲染就可以了,但也有一些时候,比如内嵌一个富文本组件,而富文本内又嵌入一些画布组件,这些组件需要像普通画布组件一样可交互,此时就有 渲染一个不存在于组件树的组件实例...,用 UI 组件树结构描述表单,这样事情就变得简单了:“先描述组件树,再定义每个节点分别用什么组件渲染,响应表单的哪部分 Key”。

76330

WPF 源代码 从开始写一个 UI 框架

需要知道 WPF 是一个 UI 框架,作为一个 UI 框架,最主要的就是交互。也就是 UI 框架需要有渲染显示处理用户输入的功能。...本文不会直接告诉大家 WPF 的源代码是如何写的,而是从开始一起来写一个 UI 框架,在写的过程就会了解到为什么 WPF 可以这样写,为什么需要这样写, WPF 这样写的好处。...元素声明自己的坐标,只要不添加布局元素就可以不声明自己的宽度高度。所有的在元素内部的绘制都是相对于元素自身的左上角坐标。...容器本身在画布上是有 Bounds 的概念,也就是容器相对于画布的坐标容器本身的宽度高度,同时容器提供容器内的坐标。 ? 如果在容器内部放一个元素,元素只需要知道容器,不需要知道容器之外。...但是如 StackPanel 的控件,在排列元素布局之前,是需要知道元素的宽高大小的 ? 于是容器在布局之前是需要先做测量,测量就是获得容器里面的元素的宽度高度

3.4K40

H5基于Canvas实现电子签名并生成PDF文档

它内联样式定义的widthheight是绘画区域(画布)实际宽度高度,绘制的图形都是在这个上面。...如果在style外链文件中定义其widthheight,那么这个widthheight是Canvas在浏览器中被渲染高度宽度。...也就是一块150×300的画布在200×200的区域渲染,因而图片会出现拉伸、变形等现象。 2....;//等比例换算成A4纸的高度 let totalHeight = imgHeight; // 需要打印的图片总高度初始状态图片高度相等 let pageData = canvas.toDataURL...这种方法因为要计算每个dom节点的高度,非常耗性能,也要求页面dom元素的颗粒度较细,否则会出现一个页面有大块空白,完全无法模拟出word生成pdf的那种效果,所以就不展开讨论了。

3.6K10

React技巧之使用ref获取元素宽度

该钩子返回一个可变ref对象,其.current属性被初始化为传递的参数。 请注意,我们必须访问ref对象的current属性,以获得对我们设置ref属性的div元素的访问。...我们使用了useLayoutEffect钩子,因为我们需要等待元素上的ref被设置,并且在访问其offsetHeightoffsetWidth属性之前,元素被渲染。...offsetWidth属性以像素为单位返回元素的宽度,包括任何边框、内填充垂直滚动条(如果存在的话)。 offsetHeight属性返回元素的高度,单位是像素,包括垂直内填充边框。...或者,你可以使用clientWidth属性,它返回元素的宽度,单位是像素,包括内填充,但不包括边框、外边距垂直滚动条(如果存在的话)。...setWidth(ref.current.clientWidth); setHeight(ref.current.clientHeight); }, []); 总结 我们通过ref来获取元素的宽度高度

3.5K10

2024 年值得关注的 JavaScript 最前沿趋势,走起!

shadcn-ui 是用 React 编写的 UI 组件的集合,允许通过 TailwindCSS 进行自定义样式; 它最大的特点就是不用 npm 下载,而可以通过点点点,直接生成代码, copy 一下直接就用...功能上,提供了丰富的工具,让用户能够根据个人喜好需求进行自由绘制。 用户还可以将作品导出、分享、保存,让多人在同一画布上共同创作。...框架方面 头两个是 React Svelte React 不用再多作介绍:依旧强劲 已经流行了 10 年的前端框架,改变了前端生态,它有如此庞大的社区、框架本身有极强的韧性,可以为 React 拍一部电影了...也就是倒回到服务器渲染 Html,不得不说历史就是轮回。...open" @click.away="open = false" > Dropdown Body 这段代码,alpine.js会在页面加载完成之后,将其初始化为组件

33810
领券