文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

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

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

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

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

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

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

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

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

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

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

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

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

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

这些工具将帮助你维护一个庞大的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项目的技巧有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯