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

React 中使用 Storybook,构建强大自定义 UI 组件

对于想要构建更好组件开发者来说,Storybook有很多好处: 简化组件构建:Storybook创建独立运行故事”或小组件,然后可以将其添加到应用程序。...隔离构建组件:隔离开发可确保您只关注正在构建组件。你不需要考虑应用其他部分,因为你Storybook构建每个组件都在自己文件夹,那里有用于实现和测试文件。...jsx文件: /** @jsxImportSource @emotion/react */ 下面是一个如何根据道具将不同样式应用到React组件例子。...创建第一个 Story 将一个文件添加到/stories文件夹之后,我们需要添加一个相关故事文件来查看Storybook组件。... React APP 中使用 story 要在React应用中使用这个故事,我们可以导入创建好Banner。在你Next.js安装,把jsx文件放到index.js文件夹

9K10

Sentry 开发者贡献指南 - 前端(ReactJS生态)

测试 选择器 测试未定义 theme 属性 Babel 语法插件 新语法 可选链 语法 空合并 语法 Lodash Typescript 迁移指南 Storybook Styleguide 我们使用它吗...Typing DefaultProps 类(Class)组件 函数式(Function)组件 参考 使用 Hooks 使用库 hooks 使用 react 内置 hooks 使用 context...要在本地运行 Storybook,请在 getsentry/sentry 存储库根目录运行 npm run storybook。 它部署某个地方吗?...需要少量状态或访问 react 原语(如引用和上下文展示组件,它们通常是一个不错选择。例如,具有滑出(slide-out)或可展开状态(expandable state)组件。...仅当期望元素可能不会立即发生 DOM 更改后出现时才使用 await findBy...

6.9K30
您找到你想要的搜索结果了吗?
是的
没有找到

React 应用架构实战 0x2:构建和文档化组件

React ,所有的东西都是组件。这种范式允许我们将用户界面拆分成更小部分,从而更容易开发应用程序。它还启用了组件可重用性,因为我们可以多个地方重复使用相同组件。...还定义了我们希望组件中使用主题颜色。然后,使用 extendTheme 将这些配置与默认主题组合在一起,它将合并所有配置并为我们提供完整主题对象。...集中主题配置非常有用,因为如果应用程序品牌发生变化,它很容易使用和更改。例如,我们可以轻松地一个地方更改主色,并将其应用于整个应用程序,而无需进行任何其他更改。...使用 Storybook 一些好处: Storybook 允许隔离环境开发组件,而无需重现应用程序精确状态,从而使开发人员可以专注于他们正在构建东西 Storybook 作为 UI 组件目录... Storybook 展示方式。

80010

基于 React、TS聊天室monorepo实战

开发模式 基于 React hook 状态管理 socket.io 客户端和服务端应用 目标 实现多人在线聊天,可发送文本、表情、图片。...'@storybook/addon-actions', '@storybook/addon-links', ], }; 最终以这种模式去规范组件开发(PS:没有文档组件库,不叫组件库...创建 context 通过 React.useReducer 管理 reducer,生成 state 与 dispatch 通过 React.useContext 获取状态源 这样,我们就可以很方便维护局部或全局状态...另外,如果组件层级比较多,组件粒度拆得比较细的话,不考虑业务组件复用情况下,可以引入一些共享状态,如:currentUserId、socket、activeTool 等,可有效避免父子组件状态传达,...QA 这一节我通过问答方式来快速过一下开发聊天室可能遇到问题: 如何实现表情发送 简单表情可以当做文本来处理,如果需要考虑兼容性的话,可以用图片。

1.8K10

Angular 工具篇之Storybook

Storybook 是一个 UI 组件开发环境。它允许你能够浏览一个组件库,查看每个组件不同状态,以及支持交互式方式开发和测试组件Storybook 在你应用程序之外运行。...这允许你能够独立开发 UI 组件,你可以提高组件可重用性、可测试性和开发速度。你可以快速构建,而无需担心应用程序特定依赖项。...Storybook 这款工具很强大,它支持很多流行框架,比如: React React Native Vue Angular Polymer Riot 接下来我们来介绍一下 Angular 项目中如何使用...我们通过调用 storiesOf() 方法后返回对象 add() 方法来创建故事。...此外利用 @storybook/addon-notes 这个库导入 withNotes() 方法,我们还可以为每个故事添加一个备注信息。

1.9K20

搬砖 React 4 年,我总结了这些企业级应用要点

React Context React Context 通过各组件管理全局状态方面发挥重要作用,无需 prop drilling。...这在共享状态(如用户认证或偏好设置)需要在整个应用可访问企业应用特别有价值。 我通常只把 React Context 或其他状态管理工具作为最后手段。建议尽量减少对全局状态依赖。...企业应用,验证各个组件预期工作方式对健壮应用非常关键。React Testing Library 允许彻底测试每个组件隔离情况,以及与其他组件结合情况。...大型企业应用,不同开发人员或团队可能负责 UI 不同部分。Storybook 提供了展示和讨论 UI 组件集中平台,促进高效协作并确保一致设计语言。...这是 Storybook 强项。 跨浏览器兼容性 不同浏览器测试按钮组件,以确保行为和外观一致性。

37140

从 Styleguidist 迁移到 Storybook

随着开发人员不断创建新 React 组件,我们 React 代码库一直增长,但我们现有的 React Styleguidist(本文简称 Styleguidist)开发环境无法并行扩展。...它拥有强大社区支持和丰富插件生态系统,可用于易访问性测试、跨浏览器测试和其他用途。 Storybook ,用户可以通过 Story 来逐个浏览和开发组件示例。... Storybook ,开发人员可以通过 react-docgen 自动生成控件,用户可以文档 UI 中直接修改和预览组件。...为了保持现有 React 组件示例并减少开发人员迁移过程负担,我们列出了以下这些需求: 我们现有的 Styleguidist 文件使用了 ES5 风格导入和语法。...然后我们发现 MDX 代码块是相同上下文中运行,而且我们关于保持沙盒与 Styleguidist 隔离假设是不对

1.3K20

2019年,React 开发者应该掌握 22 种神奇工具

以下是示例我们使用组件之一例子: ? React-Proto GitHub 上获得了 2,000 个星标。 3....我们可以通过声明一个额外静态属性 why Did You Render,并将其设置为 true,把一个侦听器附加到任意自定义组件: import React from 'react' import...开发人员工具查看 React 组件层次结构。...例如,利用 Storybook README 包,我们可以同一页面上创建 README 文档,同时开发供生产使用 React 组件。这足以作为常规文档页面: ? 11....它会扫描项目中组件,并且可以实现以下功能: 用属性、上下文和状态任意组合下渲染组件 模拟每个外部依赖项(例如 API 响应、localStorage 等) 与正在运行实例进行交互时,查看应用程序状态实时变化

2.4K20

服务端来自火星,客户端来自金星,RSC 开发新思路

基于 React Web UI 开发React 服务端组件(RSC) 是一种新编程模式。与传统 React “客户端”组件不同,它们只服务器上进行渲染。...诸如 Storybook、Testing Library 以及用于组件测试工具 Playwright 和 Cypress,全都是假设用户组件浏览器(或 JSDom)中进行渲染。...第二个区别是:服务端组件可以直接访问 Node 代码,在这个示例,函数 findById 封装了一个经过验证数据库连接。 为了实现这两点,RSC 底层做了很多事情。...开始支持异步 如何支持异步组件客户端上渲染 RSC 组件第一个挑战。幸运是, Next.js 最新依赖 React 版本已经(非官方地)支持了这一功能。...本文中,我们成功地 Storybook 为 RSC 编写了第一个 story,并展示了这一切是幕后是如何实现

15210

storybook介绍和使用 比较火响应式UI开发及测试环境

可以可视化开发调试react,vue组件 官网:https://github.com/storybooks/storybook 至于为什么叫storybook,应该是敏捷开发user story...打开 这个,这是airbnb公司实现一个reactdatepicker组件。这个组件配置很多,怎么让大家直观查看学习呢?...storybook本身提供了很多组件,也可以添加自己组件作为story,方便他人查看,使用并测试。 使用storybook你需要有react或vue开发经验,并且熟悉es6。...下来带大家简单使用一下: 首先全局安装storybook命令: npm i -g @storybook/cli 来到一个已存在react项目,可以是由creat-react-app创建 根目录执行...', () => ); // 使用action让storybook去记录log,可以页面的action logger查看

3K40

React】653- 22 个让 React 开发更高效更有趣工具

/src/components,如下所示: 以下是示例我们使用组件之一例子: React-Proto GitHub 上获得了 2,000 个星标。...我们可以通过声明一个额外静态属性 whyDidYouRender,并将其设置为 true,把一个侦听器附加到任意自定义组件: import React from 'react' import Button...Storybook 如果大家还不了解 Storybook,并且希望能够轻松地构建 UI 组件,我强烈建议你立即使用它。...例如,利用 Storybook README 包,我们可以同一页面上创建 README 文档,同时开发供生产使用 React 组件。这足以作为常规文档页面了: 11....它会扫描项目中组件,并且可以实现以下功能: 用属性、上下文和状态任意组合下渲染组件 模拟每个外部依赖项(例如 API 响应、localStorage 等) 与正在运行实例进行交互时,查看应用程序状态实时变化

2K20

你不知道33个令人惊艳React开发库

今天文章,将介绍每个 React 开发人员都应该熟悉 33 个令人惊叹 React 库。而且是由其他开发人员经过良好测试和维护令人惊叹 React 库。...从 Material UI(我们完全加载组件库)开始,或者将您自己设计系统引入我们生产就绪组件。...您可以更改图像宽度、高度、格式、旋转和质量。它返回调整大小后图像新 base64 URI 或 Blob。URI 可以用作组件源。...react-query image.png React 高性能且强大数据同步。 ReactReact Native 应用程序获取、缓存和更新数据,而无需触及任何“全局状态”。...storybook image.png Storybook 是一个用于独立构建 UI 组件和页面的前端研讨会。成千上万团队使用它进行 UI 开发、测试和文档编制。它是开源且免费

27720

22 个让 React 开发更高效更有趣工具

/src/components,如下所示: 以下是示例我们使用组件之一例子: React-Proto GitHub 上获得了 2,000 个星标。...我们可以通过声明一个额外静态属性 whyDidYouRender,并将其设置为 true,把一个侦听器附加到任意自定义组件: import React from 'react'import Button...Storybook 如果大家还不了解 Storybook,并且希望能够轻松地构建 UI 组件,我强烈建议你立即使用它。...例如,利用 Storybook README 包,我们可以同一页面上创建 README 文档,同时开发供生产使用 React 组件。这足以作为常规文档页面了: 11. ...它会扫描项目中组件,并且可以实现以下功能: 用属性、上下文和状态任意组合下渲染组件 模拟每个外部依赖项(例如 API 响应、localStorage 等) 与正在运行实例进行交互时,查看应用程序状态实时变化

10.2K31

22 个让 React 开发更高效更有趣工具

/src/components,如下所示: 以下是示例我们使用组件之一例子: React-Proto GitHub 上获得了 2,000 个星标。...我们可以通过声明一个额外静态属性 whyDidYouRender,并将其设置为 true,把一个侦听器附加到任意自定义组件: import React from 'react'import Button...Storybook 如果大家还不了解 Storybook,并且希望能够轻松地构建 UI 组件,我强烈建议你立即使用它。...例如,利用 Storybook README 包,我们可以同一页面上创建 README 文档,同时开发供生产使用 React 组件。这足以作为常规文档页面了: 11. ...它会扫描项目中组件,并且可以实现以下功能: 用属性、上下文和状态任意组合下渲染组件 模拟每个外部依赖项(例如 API 响应、localStorage 等) 与正在运行实例进行交互时,查看应用程序状态实时变化

2.1K31

vue 开发常用工具及配置二

目录 1,代理后端接口,关于 /api/ping 2,storybook 3,源码 ---- 1,代理后端接口,关于 /api/ping 作者个人工作喜欢用go语言,因为它简单方便。...浏览器访问http://0.0.0.0:8080/ping,可以看到接口有返回。 以下是准备后端接口,以便测试。...devServer.proxy配置本地调试接口时特别有用,因为多数情况下,开发环境接口地址与正式环境是不一致。...2,storybook 一个组件配置可能很多,为了让学习者直观查看,可以利用storybook写很多story,左侧每一项点击打开后,都是组件一个不同状态,这个不同状态,就是一个story。...介绍和使用 比较火响应式UI开发及测试环境 https://airbnb.io/react-dates airbnb公司实现一个reactdatepicker组件 https://storybook.js.org

1.1K20

对比三个强大组件文档展示工具

Story Book StoryBook 提供了一套UI组件开发环境。...代码示例 类型定义: 渲染示例 总体对比 以下为三个库特性对比: docz story book dumi 支持编写组件库类型 all ✅ all ✅ React Only 轻量级 / 开发者友好...❌ ❌ ✅ 文档内嵌组件目录 ❌ ✅ ✅ 将引入模块写在代码示例 ❌ ❌ ✅ 自动生成组件库 API ❌ ❌ ✅ 支持除了组件库文档其他类型文档编写 ✅ ✅ ❌ 综上所述,愉快地决定将 React...经过一通细致检查, yarn.lock 中发现组件库依赖 react 版本是 16,而 dumi 依赖 react 版本是*,*版本下载了 17 版本 react,由于两个版本 react...' 由于这里引入是 node_module 包,这使得组件更改无法映射到文档,需要添加别名映射。

2.6K50

100行JavaScript代码React优雅实现简单组件keep-Alive

,因为某些原因需要临时离开交互场景,则需要对状态进行保存 React ,我们通常会使用路由去管理不同页面,而在切换页面时,路由将会卸载掉未匹配页面组件,所以上述列表页例子,当用户从详情页退回列表页时...,会回到列表页顶部,因为列表页组件被路由卸载后重建了,状态被丢失 如何实现 React 状态保存 Vue ,我们可以非常便捷地通过 标签实现状态保存,该标签会缓存不活动组件实例...,我们需要研究如何自动保存状态 最初版本react-keep-alive image.png 1500行TypeScript代码React实现组件keep-alive 我这篇文章对源码进行了解析...逐步解析: {this.props.children} 是这个组件所有子元素,必须要渲染 使用ReactContext API进行传递KEEP方法给所有的子孙组件,每次这个方法被调用,都会造成AliveScope...真正区别,withScope使用了context api捕获了传入虚拟DOM节点,桥接了父组件以及KeepAlive组件关联,一旦children属性改变,那么withScope被刷新,进而传入新

5K10

大势 | 2018最值得关注JavaScript趋势

Storybook是一个定义、开发和测试UI组件环境。 它从年初几乎一潭死水变成年中大规模流行,这要感谢社区巨大努力。...这是一个极其激励人故事,展现出了开源工作应该如何演进,它故事真的值得一读。 Storybook太有用了(而且用起来也很有趣),你可以单独地开放和测试UI。...额外提示:建议你也看看 react-bluekit,这是Storybook替代,Netflix工程团队用来设计他们组件库。...由Airbnb工程团队开发Enzyme是一个测试React组件JavaScript库。自从2016年以来它已经GitHub上面拿到了12000颗星。...Storybook! 7.一个项目上安装Prettier,让你代码可读性更强。 8.一个React项目上学习使用Jest截屏及Enzyme。

78520
领券