首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    优雅的在 react 中使用 TypeScript

    写在最前面 为了在 react 中更好的使用 ts,进行一下讨论 怎么合理的再 react 中使用 ts 的一些特性让代码更加健壮 讨论几个问题,react 组件的声明?...react 高阶组件的声明和使用?class组件中 props 和 state 的使用?......在 react 中使用 ts 的几点原则和变化 所有用到jsx语法的文件都需要以tsx后缀命名 使用组件声明时的Component泛型参数声明,来代替PropTypes!...没错,实际情况确实是这样的,但是这样子做其实是让组件丢失了对state的访问和类型检查!...因为react中的高阶组件本质上是个高阶函数的调用,所以高阶组件的使用,我们既可以使用函数式方法调用,也可以使用装饰器。

    3.3K10

    使用 TypeScript 优化 React Context:综合指南

    在这篇内容全面的文章中,我们将探讨如何充分发挥 React Context 的潜力,并特别关注如何使用 TypeScript 增强开发体验。...设置 React Context和 TypeScript: 在本节中,我们将简单描述一下您使用 TypeScript 创建基本 React 应用程序并建立主题管理Context的完成过程。...使用 Vite 创建一个新的 React 应用程序: 首先,我们将使用 Vite 创建一个新的 React 应用程序。...在本例中,我们将使用以下选项: project name: react-context-typescript framework: react 创建项目后,导航至项目目录并安装依赖项: cd react-context-typescript...通过巧妙地使用TypeScript,我们确保您的代码保持健壮,并在编译时而不是运行时捕获潜在的错误。

    68940

    【React】1427- 如何使用 TypeScript 开发 React 函数式组件?

    当我们需要使用 TypeScript 去定义一个函数式组件时,我们有 4 种方式,4 种方式各有各的优缺点,看具体情况使用。 1....使用 React.FC 由于 React 不是使用 TypeScript 开发的,使用的是社区开发的 @type/react 包提供的类型,里面有一个通用类型 FC ,允许我们为函数组件添加类型。...现在不推荐使用这个了,具体讨论可以看这两个链接: Remove React.FC from Typescript template #8177[1]; 《TypeScript + React: Why...无法为组件使用 Array.fill() 填充 当我们的组件直接返回 Array.fill() 的结果时,TypeScript 会提示错误。...支持使用泛型来创建组件 在使用 TypeScript 开发 React 函数式组件的时候,也可以使用泛型进行约束,声明一个泛型组件(Generic Components),这样可以让我们的组件更加灵活。

    7.4K10

    使用TypeScript并升级到React 18

    原文:https://blog.logrocket.com/upgrading-react-18-typescript/ 为了支持React 18,React类型定义进行了升级,其中包含了一些break...在第一个alpha版本发布的时候,TypeScript就提供了支持 这是通过Definitely Typed(一个社区维护的各种TypeScript类型定义的库)的类型定义实现的)来使用。...被广泛使用的React被认为是"关键的” 当Sebastian提交了一个pr来升级TypeScript的React类型定义时,就有机会来做一些重大的修改。...: boolean; children: string; } 但是,当可以让其他方式帮我们写代码的话,为什么还要写代码呢? 我们可以使用Sebastian开发的codemod来替代手动修改代码。...使用它直接通过以下的命令就可以: npx types-react-codemod preset-18 ./src 执行后,会看到如下提示: 选择a并让codemod运行。

    1.1K20

    如何使用 React、TypeScript、TailwindCSS 和 Vite 创建 Chrome 插件

    创建一个 Chrome 插件是一个有趣的项目,特别是当结合使用强大的工具如 React、TypeScript、TailwindCSS 和 Vite 时 在这篇文章中,我们将逐步引导完成整个过程,了解如何在...创建一个 React Chrome 插件 是否曾想过创建自己的 Chrome 插件?也许我们有一个绝妙的主意,可以让浏览变得更容易或更愉快。...让我们使用现代 Web 技术来创建一个 Chrome 插件:React 用于构建用户界面,TypeScript 提供类型安全,TailwindCSS 用于样式设计,Vite 提供快速的开发体验。...安装 TypeScript 如果你选择了 React + TypeScript 模板,TypeScript 已经安装好了。...结论 使用 React、TypeScript、TailwindCSS 和 Vite 创建一个 Chrome 插件是提升开发技能的好方法,并通过尝试新功能和技术不断学习。

    1.9K10

    让你更好使用 Typescript 的11个技巧

    使用类型谓词来避免类型断言 如果你正确使用 TypeScript,你应该很少会发现自己使用显式类型断言(例如 value as SomeType);但是,有时你仍然会有一种冲动,例如: type Circle...Typescript,你可以通过利用never类型,让静态类型检查提前为你找到错误: function getArea(shape: Shape) { switch (shape.kind) {..., '1.0']; Tuple使用的一个好例子是React的useState: const [name, setName] = useState(''); 它既紧凑又有类型安全。...const关键字进行初始化,则以下内容将无法正常工作 let shape: { kind: 'circle' | 'rect' } = circle; 使用satisfies来检查类型,而不影响推断的类型...在实践中,您可能会发现直接使用它们并不常见;然而,这些技术被专门为Typescript设计的库大量使用:比如Prisma和tRPC。了解这些技巧可以帮助您更好地了解这些工具如何在引擎盖下工作。

    1.4K20

    React Plugin Template,让你可以使用 React 来编写 Jenkins 插件

    由于我们想使用 React 的一些组件来优化用户体验,例如在 Working Hours 里面我们想用 ReactDatepicker 来帮助用户选择日期,于是整个 Working Hours 插件的前端部分都试图用...这就是这个模板的目的,帮助开发者使用 React 来开发一个插件。 同时,有了 React ,我们就可以使用很多基于 React 的库,webpack 也可以帮助我们更安全更高效地使用 js 库。...特点 | 集成 React | 开发者可以使用 React 充分控制 UI | 使用了 Iframe | Iframe 隔离了之前 Jenkins 添加的一些 js 库会造成的影响,例如 Prototype.js...Jenkins Crumb 添加到你每个请求的 header中,这个 header 的 key 和 content 都可以使用 src/main/react/app/utils/urlConfig.js...为你的插件自定义一个页面 比较推荐使用 Management Link, 这会让你的插件有一个独立的页面, 并且可以在系统管理界面 /manage 放置一个入口。

    87420

    React Router <Form> 真有点东西

    还在用 onSubmit + e.preventDefault()? 表单验证写了一堆 JS,却还是不灵光?...这些痛点,其实都是因为你还没有系统掌握 React Router 的 和 HTML 的原生验证能力。 今天我们就来拆解两个关键问题: 如何让表单在客户端“优雅地跳转”?...二、什么是 React Router 的 ? 一句话通俗解释: 是 React Router 提供的表单封装组件,它让你不用 JS 也能把表单提交交给路由处理逻辑。...七、本章小结 & 展望 今天我们学了两个关键组件: React Router :让前端提交逻辑模块化、自动接入路由逻辑 HTML 原生验证:快速表单校验首选,适合简单场景 但面对更复杂的表单场景...如果你觉得这节播客有帮助,不妨点个【收藏】或【转发】,让更多同学写出更优雅的表单体验 #React #React播客 #前端播客 #前端达人 #TypeScript

    13100

    hook+react-redux让redux使用更简单

    而对应的,它的社区也是非常活跃,因此,当我们希望在一个React项目中引入redux进行状态管理的话,我们只需要引入react-redux 下边的例子中,会引入redux-thunk让store支持异步更新...redux核心概念 store action reducer 实际上,在react-redux中我们只需要了解这三个概念即可使用redux,而实际上这些也不难理解。...我们可以看到,当我们试图把father组件的state值传到child-2-1这个三级组件,并且保证每次更新state可以使得child-2-1接收到,在没有hook之前我们不得不一层层把state下传,这无疑让组件的可维护性大大降低...可以看到,直接修改组件的state是无法触发视图层更新的。在store中,类似的,store中的state是只读的,我们想要更新store中的state,只能通过预先制定好的action触发更新。...function Component(){ const [state0,setState0]=useState(0); setState0(1); } //错误做法 this.state0=1 而使用

    1K40

    React + TypeScript + Hook 带你手把手打造类型安全的应用。

    社区里有很多 TypeScript 比较基础的分享,但是关于 React 实战的还是相对少一些,这篇文章就带大家用 React 从头开始搭建一个 TypeScript 的 todolist,我们的目标是实现类型安全...本文所使用的所有代码全部整理在了 ts-react-todo 这个仓库里。...实战 创建应用 首先使用的脚手架是 create-react-app,根据 www.html.cn/create-reac… 的流程可以很轻松的创建一个开箱即用的 typescript-react-app...const onSubmit = (e: React.FormEvent) => { e.preventDefault(); const newTodo =...后记 到此我们就实现了一个严格类型的 React 应用,写这篇文章的目的不是让大家都要在公司的项目里去把类型推断做到极致,毕竟一切的技术还是为业务服务的。

    46710
    领券