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

快速优雅的为React组件生成文档

在开发React组件时我们通常需要处理2个问题: 实例化这个组件以便调试 为这个组件编写使用文档以便更好的让别人知道怎么使用这个组件 最原始的方法莫过于开发时建一个页面用于调试,开发完后再为其手写文档...然而一个详细的React组件文档应该包括: 为各种使用场景编写demo以及对应的说明,同时附上demo的源码 有demo可以当场体验而不是使用者要自己写代码后才能体验这个组件 它的属性列表(propTypes...demo的源码 为你的组件生成这个你几乎不用写超过10行简单的代码更不用单独为组件写文档。.../demo';//为一个使用场景实例化Button组件的demo源码 // 使用docgen 从 Button 组件源码里分析出 propTypes const docgen = require('!!...其实是通过react-docgen从Button组件源码里提取出来的。大家都知道为代码写注释是个好习惯方便维护和理解,而这些注释正好也可以放在文档里一举两得。

88710

快速优雅的为React组件生成文档

在开发React组件时我们通常需要处理2个问题: 实例化这个组件以便调试 为这个组件编写使用文档以便更好的让别人知道怎么使用这个组件 最原始的方法莫过于开发时建一个页面用于调试,开发完后再为其手写文档。...然而一个详细的React组件文档应该包括: 为各种使用场景编写demo以及对应的说明,同时附上demo的源码 有demo可以当场体验而不是使用者要自己写代码后才能体验这个组件 它的属性列表(propTypes...Redemo是用来简单优雅的完成以上问题让你专注于开发自己的组件,剩下的一切它都为你做好了。先看下Redemo为组件生成文档的效果图或直接体验部分实践中的项目redemo文档、imuix: ?...demo的源码 为你的组件生成这个你几乎不用写超过10行简单的代码更不用单独为组件写文档。...其实是通过react-docgen从Button组件源码里提取出来的。大家都知道为代码写注释是个好习惯方便维护和理解,而这些注释正好也可以放在文档里一举两得。

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

    React + webpack 开发单页面应用简明中文文档教程(七)jsx 组件中调用组件、父组件给子组件传值

    React + webpack 开发单页面应用简明中文文档教程(七)jsx 组件中调用组件、父组件给子组件传值 在上一章中,我们成功调取数据,并渲染了一个列表。应该还是有成就感的吧。...创建 @/coms/header.jsx 组件 新建这个文件,并输入以下代码: import React, { Component } from 'react' export default class...我们去修改我们的 page/site/index.jsx 文件 父组件调用并传值给子组件 import React, { Component } from 'react' import { Link }...from 'react-router-dom' import Api from '@/tool/api.js' // 这样,调用我们的自定义的组件 import Header from '@/coms...如上,我们顺利的把值传给了子组件,并且子组件顺利的给显示出来了。

    1.1K10

    我为什么不再用 Vue,而改用 React?

    所以我很容易就能理解 React 组件的工作机制,并知道该如何将其集成到应用程序中。 你也可以在 Vue 中使用 ES6 语法,但是 React 比 Vue 设计得更好。...看一下如何在 React 中注册组件: class MyComponent extends React.Component { render() { return() }...在 Vue 这边,我们仍然需要一些带有自定义装饰器和特性的第三方包来创建一个真正完善的 TypeScript 应用程序,并且它的官方文档并未包含入门所需的所有信息。 2. JSX JSX 并非恶魔。...有两个流派:亲 JSX 和反 JSX。我不想卷进他们的战争。JSX 可以是天使也可以是恶魔,具体取决于你要如何使用模板。...从我的角度来看,对于开发人员来说,编写像下面这样的 JSX 更加合乎逻辑: return ( {students.map(student => {student}

    3.5K20

    从工程化角度讨论如何快速构建可靠React组件

    本文并不是要谈如何去写一个 React 组件,这一块已经有不少精彩的文章。...的 jsx 的写法,那么我们就参考业界比较优秀的标准,并进行微调,例如 airbnb 的 JavaScript 规范,是不错的参考。...测试自动化 上述讲的都跟如何提升开发效率有关的,即满足 “快速” 这个目标,对 ”可靠“ 有一定帮助,如稳定的流程和良好的代码规范,但并没有非常好地保证组件地稳定可靠。...但这里举的例子, react-list-scroll 组件,一个 React 的滚动列表组件,碰巧遇到一种比较难模拟的情况,就是对 scroll 事件的模拟。这里想展开说一下。...,一个UI组件,共两个示例,对照着脚手架的文档,从目录规范、开发流程、发布都写得较为清楚,大家开发组件的时候,可以根据情况做些调整。

    1.9K60

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

    与React一样,Storybook是记录UI组件和设计系统的一种引人注目的可视化方式。 除此之外,它还是呈现技术文档和演示实现细节的优秀工具。它还有助于在用户有机会与新配置进行交互之前测试它们。...variant: "info" | "congrats" | "documentation" | "danger", }; PropTypes或TypeScript类型被Storybook用来自动生成故事中的一些文档...jsx文件: /** @jsxImportSource @emotion/react */ 下面是一个如何根据道具的值将不同的样式应用到React组件的例子。...这个特定的文档视图包含了我们在前面步骤中定义的所有各种Banner故事的摘要,并强调了它们的视觉差异。它还包括一个按钮“显示代码”,可以切换到查看JSX并生成特定的元素。 7....在我们的Next.js的index.js的头部上方的jsx将呈现一个页面看起来像这样: 上面的例子展示了当故事位于同一个项目中时,如何从Storybook导入组件。

    9.3K10

    TypeScript:React、拖拽、实践!

    这也是无法从官方文档获取到的重要讯息。 许多人只看官方文档,一脸懵逼!规则的学习好像不难,可运用到实践到底是什么样子?不知道。...从构造函数constructor(props: P, context?: any); 的约束中,我们可以得知,P其实就是react组件中props的约束条件。...ts支持三种jsx模式,preserve, react, react-native。这些模式只在代码生成阶段起作用 - 类型检查并不受影响。 这句话怎么理解呢?...而这个阶段是在代码生成阶段,因此,生成的 .jsx还可以被后续的代码转换操作。例如再使用babel进行编译。...」 当一个组件由 class 创建而成「例如我们刚才实践的Drag组件」,那么当我们在使用该组件「即生成实例对象」时,则该实例类型必须赋值给 JSX.ElementClass 或抛出一个错误。

    2.3K10

    构建基于React18的电子表格程序

    关于此次发布新增的功能可以参考官方文档。 作为一个构建用户界面的JavaScript 库,React一直被认为是一个严谨而优秀的前端框架,随着新版本的发行,使用热度也是越来越高。...因此,为了更好地满足业务系统中复杂的表格需求,本文将为大家介绍如何基于React18,构建一个功能更加强大的前端电子表格系统。...接下来我们引入前端表格组件,在package.json中添加以下代码(紫色内容),之后执行npm install,安装新增的依赖资源: "dependencies": { "react": "^...的不同部分,OnlineSpread表示当前组件为SpreadJS运行时组件,实现该组件的核心代码如下所示: import {Component} from 'react' import GC from...设置单元格公式 sheet.setFormula(0,1,'=SUM(A2:A5)') //参数依次为行索引、列索引、公式 //设置区域内容 //表示从行索引为

    1.7K10

    React中将HTML内容转换为图片和PDF的方法与实践

    其中,将HTML内容转换为图片或PDF文件是一种常见的需求。例如,用户可能需要下载电子发票、截图分享网页内容或者生成报告。本文将详细介绍如何在React应用中实现这一功能,并提供一些具体的使用场景。...库,用于生成PDF文件react-to-print:一个React组件,用于触发打印操作安装依赖首先,我们需要在项目中安装这些依赖包:npm install html2canvas jspdf react-to-print...,用户可能需要将生成的图表和数据表格转换为PDF格式的报告。...我们可以使用HtmlToImage组件来实现这一功能。import React from 'react';import HtmlToImage from '....我们可以使用HtmlToPdf组件来生成PDF格式的电子发票。import React from 'react';import HtmlToPdf from '.

    42021

    学习 React Native for Android:React 基础

    $ cd test$ babel main.jsx -o main.js 完成后会在当前目录下生成 main.js 文件,我们打开它看看里面的内容: 可以和我们在上一节写的JavaScript代码比较下...(提示:参考 If Else in JSX) 练习3:组件和属性 为了更好的将页面模块化,React 使用组件来表示每个页面模块。...字符串改成通过组件属性来传递,这个过程就完成了视图和数据的 绑定 。 现在我们使用 react-devtool 来调试 React 程序,看看属性是如何被传入到组件里的。...从功能上看,这两个部分可以各自作为一个独立的组件 NameList 和 NameForm ,然后再组合成一个复合组件 GreetingWidget 。...补遗 本文从例子入手,一步步介绍了 JSX 、组件、属性、状态、数据展示、表单处理、复合组件等 React 开发中的基础概念,在其中存在的一些坑和值得深究的东西也尽量以扩展练习的形式交给读者主动去学习掌握

    9.2K20

    前端反卷计划-组件库-01-环境搭建

    今天开始分享如何从0搭建UI组件库。这也是前端反卷计划中的一项。在接下来的日子,我会持续分享前端反卷计划中的每个知识点。以下是前端反卷计划的内容:图片图片目前这些内容持续更新到了我的 学习文档 中。...q=curry-design图片从结果可以看到,这个名字没有其他包在用,所以我可以使用这个名字作为组件库的包名。如果你起的名字,在npm里面查询到,则需要换个名字。...: true, // 启用JSX语法支持 }, }, plugins: [ 'react', // React相关的ESLint插件 '@typescript-eslint',.../prop-types': 'off', // 关闭prop-types检查,如果你不使用prop-types 'react/react-in-jsx-scope': 'off', // 关闭...React在JSX中的全局引入,适用于React 17+ 'react/display-name': 'off', // 关闭组件名称的检查,如果你不需要 }, settings: {

    26130

    React Native开发之React基础

    概述 本节课将从React的特点、如何使用React、JSX语法,然后会对组件(Component)以及组件的属性(props)、状态(state)、生命周期等方面进行讲解。...对React有个全面的认识; 熟悉JSX基本语法; 了解组件结构; 熟悉组件的生命周期; 学会使用props; 学会使用state; 熟悉自定义组件; React是什么?...声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。 演示 当数据改变时,React将高效的更新和渲染需要更新的组件。声明式视图使你的代码更可预测,更容易调试。...模板插入 时,会自动生成 HelloMessage 的一个实例。所有组件类都必须有自己的 render 方法,用于输出组件。...React 组件支持很多事件,除了 Click 事件以外,还有 KeyDown 、Copy、Scroll 等,完整的事件清单请查看官方文档。

    1.9K20

    Reac19 升级指南

    Reactv19 已经发布 beta 版本,想要快速体验如何升级到 v19 版本尝鲜的朋友们可以查阅进行了解 前言 React 已于近日发布了 v19 的 beta 版本,同时为了帮助后续的 v19 升级...等到 React 19 发布 release 版本后可以就像往常一样从@types/react和@types/react-dom安装类型包。...现在有现代化的替代方案可以将模块作为脚本加载到 HTML 文档中。从 React 19 开始,React 将不再生成 UMD 构建,以减少其测试和发布过程的复杂性。...这些更改是为了实现 React 19 中的一些优化,但不会破坏遵循官方指南使用的库。 根据版本策略,这些更新不被列为重大更改,并且不包括有关如何升级它们的文档。建议删除依赖于内部机制的任何代码。...对于 "jsx": "react-jsxdev",将是 react/jsx-dev-runtime。 对于 "jsx": "react" 和 "jsx": "preserve",它将是 react。

    35010

    React前端学习

    React 是一个用于构建用户界面的 JavaScript 库 React官方文档:https://react.docschina.org/ React 从诞生之初就是可被逐步采用的 HTML 中使用...也就是说,你可以在 if 语句和 for 循环的代码块中使用 JSX,将 JSX 赋值给变量,把 JSX 当作参数传入,以及从函数中返回 JSX: const user = false; function...组件,从概念上类似于 JavaScript 函数。它接受任意的入参(即 “props”),并返回用于描述页面展示内容的 React 元素。...= ; 当 React 元素为用户自定义组件时,它会将 JSX 所接收的属性(attributes)以及子组件(children)转换为单个对象传递给组件...React前段小白,学习React中,当前为个人学习记录,摘取React官方文,核心概念 1~4 小节,如有问题,请自行参考 React官方文档

    81240

    从文档开发框架到package.json,带你走一轮React组件库构建与发布

    React组件库时踩的所有坑进行一个总结,并尝试输出一份能让读者在十分钟内完成react组件库构建与发布的实践指南。...dumi - 负责组件开发及组件文档生成,基于umi框架 father 2.x - 负责组件库的构建,即打包的过程 tailwindcss 3.x - 负责提供原子类,优化开发体验 ts+less -...组件库经典方案 github-pages发布组件库文档 同时,相关demo已以分支的形式放在了github上,可以拉下来尝试https://github.com/GrinZero/magic-design-react...简单(开箱即用) 一般 组件文档编写 简单(基本全React原生语法) 麻烦(需要额外学习mdx以及storybook自己实现的语法) 编译体验 快(MFSU,号称比VIte还快) 一般 UI 我喜欢...部分,用于打包出组件库 后边这里则生成.d.ts,提供类型支持 在vite的plugins中配置

    4K20

    详解:如何用好React跨端框架开发小程序

    1 类 React 跨端框架 类 React 框架存在一个最棘手的问题:如何把灵活的 jsx 和动态的 react 语法转为静态的小程序模板语法。...JSX 的语法过于灵活。 JSX 的灵活是一个双刃剑,它可以让我们写出非常复杂灵活的组件,但是也增加了编译阶段框架去分析和优化的难度。...比如说 Taro 1 /2 版本的文档里面就给出了非常清晰的提示 Taro 1/2 的弯路 Taro 发展到了2019年,他们终于意识到了上面问题的紧迫性:JSX 适配工作量大,很难追上 react 的更新...另外,没有详细的文档,你需要查看源代码或者其他渲染器实现。 如果感兴趣的同学可以移步这篇文章 react 渲染器了解一下?。...上文中,我们讲到类 Vue 的小程序框架的模板是从 Vue 的 template 部分转成的; 类 React 的运行时小程序框架,jsx 很难转成模板,只有一个 Vnode 节点组成的镜像树。

    4.7K51
    领券