使用React的一年:结论和建议

通常,开始使用新技术并不是那么简单。 初学者发现自己陷入了无休无止的培训手册和文章中。 而且,在每种材料的背后都有其作者的个人见解,每个作者都说真理是通过他的嘴说话的。

从常识的角度来看,很明显,并非所有在互联网上发表的文章都可以带来真正的好处,因此,那些试图学习新知识的人必须评估出版物,以找到是否要花在他们身上的问题的答案。你的时间。



在带头学习之前,程序员需要了解他感兴趣的技术的基础知识。 然后,您需要形成对该技术的愿景,学习如何思考。 结果,如果有人开始学习React,他们首先需要学习“思考React”。 并且,在他自己发展了这种品质之后,他将能够有意义地结识其他人的意见,并选择最有价值的人,朝着选定的方向发展。

这篇文章的作者(我们今天将要翻译的译本)希望与每个想在自己对该技术的构想,研究和积累该领域经验的过程中了解React的人分享。 在这里,他将谈论他作为React程序员在一年中设法理解的知识,在业余时间做自己的项目,并在一个JavaScript会议中分享他的想法。

React是一个不断发展的技术。


由于React处于不断发展的过程中,因此任何想要掌握这项技术的人都应该准备不断地更新其知识和技能。 如果您还记得React 16.3.0的发布,那么您会了解程序员社区带来新功能的热情。 其中包括正式的API上下文,createRef和forwardRef API,严格模式以及组件生命周期的变化。 React的主要开发团队以及为该项目的开发做出了切实可行贡献的所有人都做出了惊人的成绩,试图改善我们最喜欢的框架。 这项工作不会停止。 因此,例如,版本16.4.0引入了对指针事件的支持。

React不断发展;创新只是时间问题。 这些创新包括异步渲染,缓存,React 17.0.0中预期的许多更改,以及没人知道的东西。

鉴于以上所述,很显然,如果您想站在React开发的最前沿,您需要了解创新。 这意味着您需要了解新框架机制的工作方式以及创建它们的原因。 您需要了解它们解决了哪些问题以及它们如何简化开发。

不要害怕将代码分解成小片段


React是基于组件的。 这表明应该使用此概念,并大胆地将大型代码分解为较小的代码段。 有时,一个简单的组件只能包含4-5行代码,在某些情况下,这是完全正常的。

您应该采用代码分段方法,这样,如果新开发人员要连接到您的项目,他就不必花很多时间来了解该项目的工作方式和工作方式。

//     ,   ? return (  [   <ChangeButton    onClick={this.changeUserApprovalStatus}    text="Let's switch it!"   />,   <UserInformation status={status}/>  ] ); 

您不必创建包含其工作所需的所有逻辑的庞大组件。 例如,组件只能描述实体的视觉表示。 如果使用小的组件可以提高代码的可读性,使其更易于测试并在将来为项目提供支持,那么此方法的系统应用将是一个很好的解决方案,它将对每个团队成员的工作产生积极影响。

 import ErrorMessage from './ErrorMessage'; const NotFound = () => ( <ErrorMessage   title="Oops! Page not found."   message="The page you are looking for does not exist!"   className="test_404-page" /> ); 

上面的示例应用了静态属性。 我们面前有一个干净的组件,负责显示“ Not Found错误消息和其他内容。

另外,如果您不希望CSS类和类名出现在代码中的任何地方,我建议您使用样式化的组件。 这样可以大大提高代码的可读性。

 const Number = styled.h1` font-size: 36px; line-height: 40px; margin-right: 5px; padding: 0px; `; //.. <Container> <Number>{skipRatePre}</Number> <InfoName>Skip Rate</InfoName> </Container> 

如果由于您似乎认为它们的文件阻塞了项目材料而导致害怕创建太多的小组件,请考虑如何以不同的方式构造代码。 我使用项目的分形结构来组织材料,我必须说,这真是太好了。

了解基础知识后,请不要再为桂冠而休息。


有时候,您可能觉得您不太了解,无法继续学习和使用更高级的东西。 通常,通常,您不必特别担心这一点-刚开始掌握您觉得过于复杂的内容,并向自己证明自己能够弄清楚并使用它。

例如,如果您是React开发人员的起点,那么您可能会发现许多应该看似复杂的设计模式。 其中包括复合组件,高阶组件,渲染道具,智能组件,哑组件等等(例如,建议您掌握对组件性能进行概要分析的技术)。

掌握所有这些技术,您将了解-为什么以及为什么使用它们。 通过他们的研究,您将发现现在可以更方便地在React上开发项目。

 //     ? //   ,      ,    . render() { const children = React.Children.map(this.props.children,  (child, index) => {     return React.cloneElement(child, {       onSelect: () => this.props.onTabSelect(index)   });  }); return children; } 

另外,自然不要在合理的范围内使用新的东西。 同时,不要将新方法的使用仅限于空闲时间在项目中进行的实验。

如果与您合作的人对您的创新有疑问,请注意,这是完全正常的。 准备以有力的理由为自己的决定辩护。

您的目标应该是解决现有问题,简化进一步的开发,或者只是提高以前看起来很乱的代码的可读性。 即使您的建议(由于与团队讨论而被拒绝),您至少也会学到一些新知识,这比不提供任何新知识或不以开发人员的身份进行开发要好得多。

不要试图使项目复杂化


在您看来,该建议可能与先前的建议相反,该建议专门针对新技术的实验,但实际上并非如此。 在生活的任何地方,在编程中,我们都需要平衡。 不要过于简单地向别人展示自己的进步。 最好根据实用性来处理正在发生的事情。 编写易于理解的代码,并解决分配给它的任务。

例如,如果您的项目中不需要Redux,但是您只想因为所有人都在使用该库,而您并没有真正考虑使用Redux的目标,那就不要这样做。 更好-与Redux打交道,加深对这项技术的了解,如果您发现项目中发生的事情与您所了解的相反,请准备捍卫您的观点。

在您看来,有时您似乎会使用最新技术并创建复杂的代码,这样告诉全世界:“我不是初学者,我是专业人士。 这是我正在编写的代码!”

老实说,我本人正处于开发人员职业生涯的初期。 但是随着时间的流逝,人们逐渐意识到,编写的代码不希望向某人证明某些东西,而仅仅因为可以在其中使用技术而没有严重理由诉诸于这些技术的代码,使得使用起来更加容易任何开发人员的生活。 这是什么意思:

  1. 不仅一个了解该项目设计的人,而且其他团队成员也可以从事一个不复杂的项目。 结果,开发,错误修复,测试等许多任务不仅可以由该项目的创建者来解决。
  2. 其他程序员可以了解您在做什么,而不必花费太多时间来听您的解释。 您可以在几分钟之内将其更新。
  3. 例如,当主要开发人员休假两周时,其他开发人员可以自由地执行任务,而他们不必花一整天的时间来完成几个小时的工作。

人们对那些不会使自己的生活变得复杂的人有益。 因此,如果您希望得到团队的尊重并与上级保持良好的信誉,请尝试为团队而非自己编写代码。 结果,您将成为一个轻松愉快的人。

重构就可以了


在执行某个项目的过程中,您可以在某些事情上改变您的观点数十次,并且项目经理甚至可以更经常地修改他的观点。 有人批评你的所作所为,如果批评是有道理的,你就会开始改变一些东西。 您批评别人的工作,然后别人听了您的话,就重做他们写的东西。 结果,必须不断地重写代码。

不要认为这是负面的。 鉴于程序员必须不断学习新知识,因此重构是完全正常的。 开发通常是反复试验的途径。 而且有人越迷路,沿着这条路走,他越容易应付困难并继续前进。

但是,为了确保重构不会变成噩梦,建议对测试进行足够的注意。 随时测试您可以达到的所有功能。 也许每个程序员都已经遇到过,或者仍然会遇到良好的测试将帮助他节省大量时间的情况。 并且,如果您像其他许多人一样认为测试是浪费时间,请尝试以不同于以往的方式进行测试。 即,以下是开发人员及其团队从良好测试中获得的收益:

  1. 您不必长时间与同事坐在一起,向他们解释一切工作原理。
  2. 您不必解释出现问题的原因。
  3. 您不必纠正其他人的错误。
  4. 您不必修复在发行后几周内出现的错误。
  5. 由于精确地组织了项目检查,因此您有时间解决与调试错误无关的各种问题。

实际上,这只是程序员和他的同事从组织良好的项目测试系统中获得的好处的一小部分。

热爱工作是成功的基础


一年前,我决定成为一名更高级的React开发人员。 除其他事项外,我想在各种活动中发表演讲,与其他人分享学习新事物的乐趣。

我可以整夜坐在电脑前,做我喜欢做的事情,享受发生的每一分钟。 这里的要点是,如果一个人真的为某事而奋斗,那么周围的一切都会以一种或多种方式帮助他实现目标。 例如,最近我第一次在200名观众面前的一次小型会议上发言。

在这段时间里,我成长为一个React开发人员,学到了很多东西。 特别是,这适用于各种设计模式,项目开发原则,内部框架机制。 现在,我可以就以前似乎无法访问的主题进行交流,而且,我可以教别人我以前不敢看的东西。 同时,今天我与一年前一样感到高兴和高兴。

因此,我建议大家自问:“你喜欢你的工作吗?” 如果对这个问题的回答是否定的,请找到您真正喜欢的东西,几个小时可以谈论的事情,白天和黑夜可以做的事情,感到完全幸福。 为了在任何领域成长和发展,每个人都需要找到自己喜欢的东西。 人不能被迫在任何事情上取得成功。 一个人只有在有意识和愉快地做自己喜欢的事时才能成功。

如果我可以回去一年前在那里见面,我会这样对自己说,以便为自己准备的伟大而有趣的道路做准备。

亲爱的读者们! 您可以从经验中汲取哪些技巧,与新手Web开发人员分享?

Source: https://habr.com/ru/post/zh-CN413501/


All Articles