iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >可扩展React项目的技巧有哪些
  • 973
分享到

可扩展React项目的技巧有哪些

2024-04-02 19:04:59 973人浏览 泡泡鱼
摘要

本篇内容介绍了“可扩展React项目的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 了解如

本篇内容介绍了“可扩展React项目的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1. 了解如何在本地和全局状态之间组织状态

React是一个基于UI的当前状态来管理UI的库。作为一个开发者,你的工作就是组织好组成你的应用程序的状态的保存位置。一些开发人员更喜欢将每个数据保留在redux  store,以跟踪所有可用状态。但你真的需要为了打开或关闭一个简单的下拉菜单而向你的状态管理器派遣一个动作吗?

与其使用Redux来跟踪应用程序内部的每一个状态,不如将一些状态保留在本地,以避免过度设计你的应用程序。

根据经验,你可以提出以下问题:

  • 应用程序的其他部分是否关心此数据?

  • 你是否需要能够基于此原始数据创建其他派生数据?

  • 是否使用相同的数据来驱动多个组件?

  • 对你来说,能够将这个状态恢复到给定的时间点有价值吗?

  • 你是否要缓存数据(例如,使用已存在的状态而不是重新请求)?

  • 你是否想在热重载UI组件时保持这些数据的一致性(交换时可能会丢失其内部状态)?

使用局部状态的组件更加独立和可预测。

2. 学习测试的好处,并从一开始就做

编写自动化测试的问题是,到了一定程度,不可能不花费大量的时间和资源来手动测试你的React项目。

当开始一个项目时,因为你的代码库相对较小,所以很容易为跳过编写测试代码找理由。如果你的React应用中只有5到10个组件,那么编写自动化确实感觉是个苦差事,没有明显的好处。但是当你的组件超过五十个,而且你有多个高阶组件时,手动测试你的项目可能要花上一整天的时间,即便如此,也可能会有bug悄然而至而无人察觉。

是的,编写测试代码将帮助你使你的代码更加模块化,它将帮助你更快地发现错误,并防止在生产中崩溃。但是,当手动测试不能再验证代码是否按预期工作时,自动化测试的最终目的是帮助你扩展项目。

但是你不能在不习惯的时候突然写测试代码,这就是为什么你必须从头开始。如果你不知道从哪里开始,那就从集成测试开始吧,因为测试最重要的部分就是验证你的组件是否能正常工作。

3. 采用工具来帮助你扩展

通常,你不需要在应用程序开始时向你的React项目添加许多工具。但既然我们在讨论将React应用扩展到一个庞大的代码库,我想说的是,你需要采用所有好的工具来帮助你。

  • 为了在团队成员之间提供一致的代码模式并减少语法错误,需要使用Prettier和ESLint。强大的实用程序库,如React  Router、date-fns和response -hook-fORM都是不错的选择。

  • 添加typescript和Redux可能会被延迟,直到你的应用程序容易出现类型错误,并且你的应用程序的部分需要反复使用相同的状态,你需要使其全局可用。

  • 从一开始就实现状态管理是不需要的,因为React本身已经想到了管理状态的最佳方式。

  • Bit (GitHub)来管理和分享你的组件作为独立的构件。这意味着你要孤立地测试和渲染每个组件。这将保证以后更容易维护和重用它。

  • 你还可以使用Next.js代替Create React App来启动你的项目。

这些工具将帮助你维护一个庞大的React代码库,但要注意,你添加的每一个工具都会增加你项目的复杂程度。在决定采用此工具之前,请先进行研究。

4. 很好地组织项目文件

在扩展React应用方面,我学到的一个最好的技巧是,组织好你的项目文件并给它们命名可以加快你的进度。一些开发人员倾向于将 index.js  编写为组件目录中的主文件,如下所示:

可扩展React项目的技巧有哪些

这似乎是合理的,因为当你将组件导入到其他文件中时,该语句将变成以下形式:

import Button from '../components/Button';

但是请考虑在代码编辑器中并排打开它们时:

可扩展React项目的技巧有哪些

老实说,所有这些 index.js 会让任何人感到困惑。但如果你把那些index.js文件重命名为组件名,你的导入语句就会显得有些丑陋。

import Button from '../components/Button/Button';

我的团队最终决定,既要有以组件命名的文件,又要有导出组件的 index.js 文件。

可扩展React项目的技巧有哪些

我们还把CSS和单元测试文件放在组件目录里面。这样一来,每个组件目录都可以成为一个独立的组件。

可扩展React项目的技巧有哪些

5. 建立你的UI /逻辑组件库

你不应该等到你的项目达到很大的时候才去建立一个组件库,你可以随时随地共享组件。每当一个新的组件被构建,使用Bit来跟踪它,并将其分享到你团队在Bit.dev上的组件集合,或者在你自己的服务器上。

如前所述,(真正的)独立组件易于维护,并且在共享和记录文档时,也易于重用。

组件库不仅适用于UI组件。逻辑也应包括在内——在React的情况下,作为自定义钩子(大体上)。

6. 使用hooks将逻辑与组件分离

随着项目的发展,你可能会注意到,你的一些组件的逻辑似乎会被重复使用。为了共享组件的逻辑,你需要写一个自定义的钩子。

钩子是简单地将某些值返回到其调用者的函数,这就是为什么你可以实现相同的模式以在组件之间重用逻辑的原因。

“可扩展React项目的技巧有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 可扩展React项目的技巧有哪些

本文链接: http://www.lsjlt.com/news/84629.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 可扩展React项目的技巧有哪些
    本篇内容介绍了“可扩展React项目的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 了解如...
    99+
    2024-04-02
  • 管理Angular项目的技巧有哪些
    这篇文章主要介绍“管理Angular项目的技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“管理Angular项目的技巧有哪些”文章能帮助大家解决问题。1. 准守单一职责原则很多单应用程序核心...
    99+
    2023-07-04
  • Vue项目常用的技巧有哪些
    本篇内容介绍了“Vue项目常用的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 使用 $attrs 和 $listeners ...
    99+
    2023-07-04
  • React容器的技巧有哪些
    这篇文章主要讲解了“React容器的技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“React容器的技巧有哪些”吧!React 带键的片段有时,需要...
    99+
    2024-04-02
  • React构建简洁强大可扩展的前端项目架构
    目录引言 Bulletproof React是什么文件目录如何组织怎么做状态管理组件状态应用状态服务端缓存状态表单状态URL状态总结引言  React技术栈的一大...
    99+
    2022-11-13
    React前端项目架构 React前端架构
  • 在项目实践中的CSS技巧有哪些
    本篇文章为大家展示了在项目实践中的CSS技巧有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。用DIV+CSS布局,已经成了流行趋势,当然,这也是有原因的。那就是...
    99+
    2024-04-02
  • 管理Angular项目的实用技巧有哪些
    这篇文章主要介绍“管理Angular项目的实用技巧有哪些”,在日常操作中,相信很多人在管理Angular项目的实用技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”管理...
    99+
    2024-04-02
  • Java项目中API的使用技巧有哪些
    Java项目中API的使用技巧有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 不要自己去实现安全框架说真的,不要尝试自己去实现安全方面的代码,这太难了。几乎每个人...
    99+
    2023-05-31
    java api ava
  • Vue项目中实用小技巧有哪些
    这篇文章将为大家详细讲解有关Vue项目中实用小技巧有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需求一:为路径配置别名在开发过程中,我们经常需要引入各种文件,如图片...
    99+
    2024-04-02
  • CSS网格项目的纵横比技巧有哪些
    这篇文章主要讲解了“CSS网格项目的纵横比技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS网格项目的纵横比技巧有哪些”吧!情形1) 只是内部的...
    99+
    2024-04-02
  • 构建大型Vue.js项目的小技巧有哪些
    这篇文章主要为大家展示了“构建大型Vue.js项目的小技巧有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“构建大型Vue.js项目的小技巧有哪些”这篇文章吧...
    99+
    2024-04-02
  • Visual Studio的扩展有哪些
    这篇文章主要介绍“Visual Studio的扩展有哪些”,在日常操作中,相信很多人在Visual Studio的扩展有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Visual Studio的扩展有哪些...
    99+
    2023-06-17
  • AmazonAurora的高可用性和可扩展性功能有哪些
    Amazon Aurora是一个全托管的关系型数据库服务,具有高可用性和可扩展性功能。以下是Amazon Aurora的高可用性和可...
    99+
    2024-04-09
    AmazonAurora
  • 服务器的可扩展性知识点有哪些
    今天小编给大家分享一下服务器可扩展性的知识点有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。可扩展性衡量维度 Dimen...
    99+
    2023-06-04
  • React应该学会的开发技巧有哪些
    这篇文章主要讲解了“React应该学会的开发技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“React应该学会的开发技巧有哪些”吧!1.仅针对一种条...
    99+
    2024-04-02
  • VueRouter在实际项目中用到的高级技巧有哪些
    VueRouter在实际项目中用到的高级技巧有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Vue Router 是 Vue.js 官...
    99+
    2024-04-02
  • SCSS的扩展功能有哪些
    本文小编为大家详细介绍“SCSS的扩展功能有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“SCSS的扩展功能有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 1.嵌套...
    99+
    2024-04-02
  • es6新增的扩展有哪些
    这篇“es6新增的扩展有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“es6新增的扩展...
    99+
    2024-04-02
  • 编写更简洁React代码的技巧有哪些
    这篇文章主要介绍“编写更简洁React代码的技巧有哪些”,在日常操作中,相信很多人在编写更简洁React代码的技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”编写更简洁React代码的技巧有哪些”的疑...
    99+
    2023-07-04
  • Swoole扩展的模式有哪些
    本篇文章为大家展示了Swoole扩展的模式有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。第一 Worker同步阻塞这个模式的使用方法:swoole_server设置为SWOOLE_PROCES...
    99+
    2023-06-06
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作