”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 反应听起来很硬/复杂吗?

反应听起来很硬/复杂吗?

发布于2025-03-22
浏览:265

对您的反应似乎不堪重负?

如果是这样,您并不孤单。

我一直都在听到类似的事情:

  • 不要使用react;改用Vue。

    react是坚硬且无用的;代替使用HTMX或Vanilla JS。

  • ETC。

  • ,但是作为Palantir有5年经验的高级前端工程师,我可以自信地说:
  • 在这篇文章中,我将解释为什么反应不像人们所做的那样复杂,如果您挣扎了,如何应对挑战。

    准备好?让我们潜水。 ?下载我的免费101个React技巧和技巧书,以获取抢手。

    [2
  • React感到艰难的7个原因(以及如何解决)
[2

原因1:您不太了解JavaScript

人们有99%的时间与React斗争,因为他们的JavaScript基金会不是稳固的。

对我来说也是如此 - 我一开始无法理解React代码。我花了几个月的时间努力地写东西。当我学习JavaScript时,一切都改变了。

在学习反应之前,您需要知道的最低限度:

Is React as hard/complex as it sounds?原始和对象数据类型

[2

范围

Is React as hard/complex as it sounds? [2 [2

ETC。

?查看肯特·C·多德斯(Kent C.

一旦您的JavaScript技能提高,React会感觉更容易。

?查看我的帖子如何提高前端技能以获取有用的资源来学习JavaScript。

[2

    原因2:您使用的是错误的工具
  • 如果您是新手反应,请不要通过选择过时或过于复杂的工具来设置自己的失败:
  • 不要使用

    不要使用
  • 而是从vite开始。它快速,简单且对初学者友好。您稍后再感谢我。 [2

  • 创建全堆栈应用程序的框架。

    您不需要知道Next.js或Remix即可学习React。
  • 但是
  • 因此,首先关注React。框架可以稍后出现,因为它们添加了一层复杂性。 [2

  • 从头开始构建所有内容,尤其是考虑到可及性 - 可能会压倒性。 但是,您不必一个人面对它。
  • 将它们视为

    快捷速度
  • 。当别人已经建造了令人难以置信的牛时​​,为什么还要重新发明轮子呢?
以下是一些示例:

[2

shadcn/ui用于样式

ETC。

Is React as hard/complex as it sounds?通过利用这些工具来节省时间和精力。

[2

如果您按时间或资源(例如一个人的团队),remix或next.js之类的框架可以是救生员。

何时使用它们:

    你很开心
  • 您正在构建一个全栈应用程序您想要内置的路由,服务器端渲染以及更多 如果您不需要全堆栈解决方案,请坚持与React路由器和一些必需库进行反应。 [2 原因6:您不了解React的渲染过程(最终出现性能问题)

  • 理解React的渲染过程对于避免绩效问题至关重要:
  • rendering: react call call call consoment functions(或类Component Render方法)生成虚拟DOM。 普通错误人物的造成:

太多的渲染器:

通过最小化状态,将状态保持在组件树中,然后在需要的地方使用回忆(不要 @ me?:memoization?ememoization可以改变生活)。 ?请查看有关React重新订阅者的指南。

Is React as hard/complex as it sounds? useffect

可以避免许多效果。看,您可能不需要效果。

不遵循约定:例如,当渲染列表列表时,请始终使用唯一的键来防止错误。

[2

如果您的应用程序在开发中起作用,但在生产中破裂,则该添加测试和类型检查器了。 我知道,我知道 - 测试和打字稿听起来像过度杀伤。但是听我说。

是您的安全网,在触及您的用户之前捕获错误。

您的未来自我会感谢您!

这是我推荐的: type Checker:使用typescript。它对初学者友好,尤其是本指南。如果您使用的是VITE,则设置很简单。

[2

测试和类型可以节省您数小时的调试 - 并保持理智?。 [2 Is React as hard/complex as it sounds? 概括

的反应很难听起来吗? 不。

React只是一个JavaScript库。大多数复杂性来自:

[2 [2

尝试自己做所有事情

[2

记住,每个专家曾经是初学者。 有了正确的心态和工具,React可以是您构建惊人应​​用程序的秘密武器。

奖励

:下载我的
    免费电子书,
  • 101 react提示&tricks&tricks

    ,并在构建更流畅,更快的react Apps时节省了小时的挫败感。 [2

    “思考食物”
  • //检测黑暗主题 var iframe = document.getElementById('Tweet-1862406693444444444439-370'); if(document.body.classname.includes('dark-theme')){ iframe.src =“ https://platform.twitter.com/embed/tweet.html? }
  • [2

    发现问题
  • //检测黑暗主题 var iframe = document.getElementById('Tweet-1861017779249320435-683'); if(document.body.classname.includes('dark-theme')){ iframe.src =“ https://platform.twitter.com/embed/tweet.html?id=18610177779249320435&theme=dark” }

[2

发表评论?要与React分享您最大的挑战,或者是什么使您点击您。

Is React as hard/complex as it sounds?,不要忘记丢弃“ ???”。

If you're learning React, download my 101 React Tips & Tricks book for FREE.

如果您喜欢这样的文章,请加入我的

新闻通讯,

frontendjoy

    如果您想要每日提示,请在X/Twitter或Bluesky上找到我。
版本声明 本文转载于:https://dev.to/_ndeyefatoudiop/is-react-as-hardcomplex-as-it-sounds-nfg?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • JavaScript计算两个日期之间天数的方法
    JavaScript计算两个日期之间天数的方法
    How to Calculate the Difference Between Dates in JavascriptAs you attempt to determine the difference between two dates in Javascript, consider this s...
    编程 发布于2025-04-19
  • PHP与C++函数重载处理的区别
    PHP与C++函数重载处理的区别
    作为经验丰富的C开发人员脱离谜题,您可能会遇到功能超载的概念。这个概念虽然在C中普遍,但在PHP中构成了独特的挑战。让我们深入研究PHP功能过载的复杂性,并探索其提供的可能性。在PHP中理解php的方法在PHP中,函数超载的概念(如C等语言)不存在。函数签名仅由其名称定义,而与他们的参数列表无关。...
    编程 发布于2025-04-19
  • HTML格式标签
    HTML格式标签
    HTML 格式化元素 **HTML Formatting is a process of formatting text for better look and feel. HTML provides us ability to format text without us...
    编程 发布于2025-04-19
  • 如何使用FormData()处理多个文件上传?
    如何使用FormData()处理多个文件上传?
    )处理多个文件输入时,通常需要处理多个文件上传时,通常是必要的。 The fd.append("fileToUpload[]", files[x]); method can be used for this purpose, allowing you to send multi...
    编程 发布于2025-04-19
  • 查找当前执行JavaScript的脚本元素方法
    查找当前执行JavaScript的脚本元素方法
    如何引用当前执行脚本的脚本元素在某些方案中理解问题在某些方案中,开发人员可能需要将其他脚本动态加载其他脚本。但是,如果Head Element尚未完全渲染,则使用document.getElementsbytagname('head')[0] .appendChild(v)的常规方...
    编程 发布于2025-04-19
  • 如何从Google API中检索最新的jQuery库?
    如何从Google API中检索最新的jQuery库?
    从Google APIS 问题中提供的jQuery URL是版本1.2.6。对于检索最新版本,以前有一种使用特定版本编号的替代方法,它是使用以下语法:获取最新版本:未压缩)While these legacy URLs still remain in use, it is recommended ...
    编程 发布于2025-04-19
  • 为什么HTML无法打印页码及解决方案
    为什么HTML无法打印页码及解决方案
    无法在html页面上打印页码? @page规则在@Media内部和外部都无济于事。 HTML:Customization:@page { margin: 10%; @top-center { font-family: sans-serif; font-weight: bo...
    编程 发布于2025-04-19
  • 如何使用node-mysql在单个查询中执行多个SQL语句?
    如何使用node-mysql在单个查询中执行多个SQL语句?
    在node-mysql node-mysql文档最初出于安全原因最初禁用多个语句支持,因为它可能导致SQL注入攻击。要启用此功能,您需要在创建连接时将倍增设置设置为true: var connection = mysql.createconnection({{multipleStatement:...
    编程 发布于2025-04-19
  • 如何使用Python有效地以相反顺序读取大型文件?
    如何使用Python有效地以相反顺序读取大型文件?
    在python 中,如果您使用一个大文件,并且需要从最后一行读取其内容,则在第一行到第一行,Python的内置功能可能不合适。这是解决此任务的有效解决方案:反向行读取器生成器 == ord('\ n'): 缓冲区=缓冲区[:-1] ...
    编程 发布于2025-04-19
  • 表单刷新后如何防止重复提交?
    表单刷新后如何防止重复提交?
    在Web开发中预防重复提交 在表格提交后刷新页面时,遇到重复提交的问题是常见的。要解决这个问题,请考虑以下方法: 想象一下具有这样的代码段,看起来像这样的代码段:)){ //数据库操作... 回声“操作完成”; 死(); } ?> ...
    编程 发布于2025-04-19
  • 如何简化PHP中的JSON解析以获取多维阵列?
    如何简化PHP中的JSON解析以获取多维阵列?
    php 试图在PHP中解析JSON数据的JSON可能具有挑战性,尤其是在处理多维数组时。要简化过程,建议将JSON作为数组而不是对象解析。执行此操作,将JSON_DECODE函数与第二个参数设置为true:[&&&&& && &&&&& json = JSON = JSON_DECODE($ j...
    编程 发布于2025-04-19
  • 在GO中构造SQL查询时,如何安全地加入文本和值?
    在GO中构造SQL查询时,如何安全地加入文本和值?
    在go中构造文本sql查询时,在go sql queries 中,在使用conting and contement和contement consem per时,尤其是在使用integer per当per当per时,per per per当per. [&​​&&&&&&&&&&&&&&&默元组方法在...
    编程 发布于2025-04-19
  • Android如何向PHP服务器发送POST数据?
    Android如何向PHP服务器发送POST数据?
    在android apache httpclient(已弃用) httpclient httpclient = new defaulthttpclient(); httppost httppost = new httppost(“ http://www.yoursite.com/script.p...
    编程 发布于2025-04-19
  • 版本5.6.5之前,使用current_timestamp与时间戳列的current_timestamp与时间戳列有什么限制?
    版本5.6.5之前,使用current_timestamp与时间戳列的current_timestamp与时间戳列有什么限制?
    在时间戳列上使用current_timestamp或MySQL版本中的current_timestamp或在5.6.5 此限制源于遗留实现的关注,这些限制需要对当前的_timestamp功能进行特定的实现。 创建表`foo`( `Productid` int(10)unsigned not n...
    编程 发布于2025-04-19
  • 使用ZenRows打造无限滚动网站产品抓取器
    使用ZenRows打造无限滚动网站产品抓取器
    In the realm of web scraping, accessing and extracting data from web pages that use infinite scrolling can be a challenge for developers. Many website...
    编程 发布于2025-04-19

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3