< / div >
< / div >
®< / div >
开发人员< / div >< / div >< / div >
排名前3%为什么客户
医疗保健和生命科学消费品及服务金融服务工业通讯、媒体和娱乐技术< / div >< / div >社区博客关于我们< / div >
  • 雇佣一个开发人员
< / div >
反应.js

雇佣 排名前3% of 自由的反应.js开发人员

< / div >

PT视讯是一个专门提供反应的市场.Js开发人员、工程师、程序员、程序员、架构师和顾问. 顶级公司和初创企业选择PT视讯反应.js自由职业者为他们的关键任务反应.js开发项目.

< / div >
雇佣一名顶级反应者.js开发人员现在< / div >

无风险试验,满意才付款.

< / div >< / div >< / div >客户的速度 PT视讯反应.js开发人员4.4 / 5.0截至2021年12月23日,平均有1471条评论< / div >< / div >< / div >< / div >< / >节

被领先品牌和初创公司所信赖

观看案例研究

观看案例研究

观看案例研究

< / div >< / div >< / div >< / div >< / div >

雇佣自由职业者的反应.js开发人员和工程师

查看完整的配置文件< / div >菲尔·格林伯格,自由撰稿人.js出租程序员.视图菲尔< / div >

菲尔·格林伯格

自由的反应.js开发人员

美国2017年3月29日起成为PT视讯会员< / div >

Phil以软件工程师的身份开始他的职业生涯,但很快发现他真正的激情集中在产品管理上. 在他的职业生涯中, 他成功地在多达12人的产品和工程管理团队中担任各种角色,并在三个不同的SaaS产品从创意到发布.

显示更多< / div >
反应.jsJavaScript.净SQL表达.js反应本地REST apiWebStormREST API架构API架构PostgreSQLSOA体系结构SQL存储过程+更多< / div >< / div >< / div >< / div >
查看完整的配置文件< / div >Juraj Husar,反应.js自由职业者.视图Juraj< / div >

Juraj Husar

自由的反应.js开发人员

斯洛伐克2017年5月10日起成为PT视讯会员< / div >

Juraj是一个思想开放的网页开发者,他已经准备好迎接新的挑战. 他的大部分职业生涯都花在了web开发上——从PHP开始, 之后使用Java和Spring, 现在他精通前端领域. 他喜欢和伟大的人一起工作,激励别人,也被激励.

显示更多< / div >
反应.jsJavaScript.净CSS3NPMWeb开发C++嵌入式软件+更多< / div >< / div >< / div >< / div >
查看完整的配置文件< / div >加布里埃尔Courtemanche反应.js工程师.视图加布里埃尔< / div >

加布里埃尔Courtemanche

自由的反应.js开发人员

加拿大2018年6月7日起成为PT视讯会员< / div >

Gabriel是一名高效且可靠的专业人士,他拥有广泛的web应用程序开发技能. 他一直在为一系列产品和客户工作——从Shopify和Autodesk的生产工程团队的可扩展性问题,到为初创公司推出新的应用程序. 他的大部分工作由领先的技术团队组成, 通过创建一个简单的开发环境, 修复技术债务, 提供最佳实践代码示例, 和指导开发者.

显示更多< / div >
反应.jsJavaScript表达.js节点.jsHTML5自由巴别塔.净测试驱动的开发(TDD)DevOps完整的+更多< / div >< / div >< / div >< / div >
查看完整的配置文件< / div >马从文,资深反应.js程序员和顾问.视图沈从文< / div >

沈从文马

自由的反应.js开发人员

美国2017年11月4日起成为PT视讯会员< / div >

从文是一位专注于使用实用框架开发全栈web应用程序的web开发人员. 他热衷于为别人解决问题——对他来说,一个好的解决方案通常需要一定的创造力,然后需要更多的努力去适应和完善.

显示更多< / div >
反应.jsJavaScript.净Ruby角JSRuby on Rails (RoR)节点.js行为驱动开发(BDD)JavaScript的设计模式Visual Studio代码移动网络电子TensorFlow+更多< / div >< / div >< / div >< / div >
查看完整的配置文件< / div >大卫·梁反应.js工程师.看来大卫< / div >

大卫梁

自由的反应.js开发人员

美国2017年10月23日起成为PT视讯会员< / div >

David是一位拥有超过12年web开发经验的全栈工程师, 管理开发过程的所有方面. 他参与了50多个项目,解决了包括市场营销在内的各种行业的复杂商业问题, 医疗保健, 电子商务, 房地产, 和汽车保险. 大卫在增加利润的同时一直在节约成本. 他已经准备好利用自己的技能为你的收入带来指数级增长.

显示更多< / div >
反应.jsJavaScriptLaravel离子CSSPythonRubySQL角JSGraphQL角Ruby on Rails (RoR)Django+更多< / div >< / div >< / div >< / div >
查看完整的配置文件< / div >本杰明kuk,专家反应.js出租程序员.视图本杰明< / div >

本杰明kuk

自由的反应.js开发人员

加拿大2019年10月15日起成为PT视讯会员< / div >

Benjamin是一名优秀的开发人员,他的职业生涯亮点是在一家大数据分析初创公司担任高级全栈开发人员, 付款处理器, 以及用户测试服务. 他的工作横跨整个开发生命周期,并专攻前端. Benjamin对实现细节一丝不苟,同时总是考虑和平衡更广泛的涉众关注. 在沟通方面,他是敏捷的、相关的、专业的.

显示更多< / div >
反应.jsJavaScriptPHP前端HTML5CSS少jQuery+更多< / div >< / div >< / div >< / div >
查看完整的配置文件< / div >达沃Badrov,反应.js编码器.视图达沃< / div >

达沃Badrov

自由的反应.js开发人员

克罗地亚2017年12月12日起成为PT视讯会员< / div >

Davor是一名全栈工程师,在企业和初创项目上有6年的专业经验. 他对学习充满热情, 扩大自己的知识, 构建高质量的软件, 和自动化.

显示更多< / div >
反应.jsJavaScriptSQLCSS萨斯表达.js节点.jsREST api+更多< / div >< / div >< / div >< / div >
查看完整的配置文件< / div >Abdelhamid Attaby, PT视讯反应.js开发人员.视图Abdelhamid< / div >

Abdelhamid Attaby

自由的反应.js开发人员

埃及2019年11月8日起成为PT视讯会员< / div >

Abdelhamid是一位拥有10年以上经验的专业软件工程师. 他是Coligo科技公司的前团队领导和首席技术官. 他拥有理学硕士学位和博士学位.D. 计算机科学与工程专业. 他的专长包括JavaScript、节点.js、Python、REST API、表达、Redis、MongoDB、PostgreSQL、反应、回来的、CI/CD、Cloud services.

显示更多< / div >
反应.jsJavaScriptNoSQL表达.js安卓节点.jsREST apiGitScrumMongoDBPostgreSQL开玩笑+更多< / div >< / div >< / div >< / div >
查看完整的配置文件< / div >塞巴斯蒂安Kalinowski反应.js工程师.视图塞巴斯蒂安< / div >

塞巴斯蒂安Kalinowski

自由的反应.js开发人员

波兰2019年5月10日起成为PT视讯会员< / div >

塞巴斯蒂安是一个 .净开发人员专门从事后端层开发. 他在银行业拥有超过十年的专业经验, 金融, 和招聘行业. 他还擅长前端开发(反应)、系统设计和架构. Sebastian已经成功地与众多客户一起定义需求, 设计新的系统元素, 实现新功能, 优化现有系统.

显示更多< / div >
反应.jsC#.网络核心完整的C#.净+更多< / div >< / div >< / div >< / div >
查看完整的配置文件< / div >Sergii Petryk,反应.js工程师.视图Sergii< / div >

Sergii Petryk

自由的反应.js开发人员

加拿大2018年2月27日起成为PT视讯会员< / div >

Sergii是一位资深的全栈开发人员,在各个行业的软件开发中拥有超过10年的经验, 最近5年主要关注反应和TypeScript. 作为一名真正了解客户基础设施和痛点的熟练开发人员,他在行业领先的公司中备受尊敬. Sergii还具有动手能力和设计和构建解决方案所需的技术能力.

显示更多< / div >
反应.jsJavaScriptSQL节点.jsMongoDB少开玩笑CSSHTML5+更多< / div >< / div >< / div >< / div >

现在就注册看看更多的资料.

开始招聘< / div >< / div >
< / div >

招聘指南

指南雇佣一个伟大的反应.js开发人员

反应是一个由脸谱网开发的JavaScript库,它彻底改变了我们对应用程序的看法. 借用陈述句的观点, 无功, 和函数式编程, 它使得开发高度交互的用户界面变得轻而易举. 因此,这是每个前端开发人员都应该拥有的工具. 为所有的反应需求找到合适的工程师可能是一个挑战. 这个招聘指南提供了一个招聘过程和一组有见地的问题,帮助你识别在他们的领域内出色的全职和兼职反应开发人员.

阅读招聘指南< / div >< / div >

反应.js招聘资源

< / div >
更多招聘资源.js开发人员

工作描述模板

面试问题

技巧和实践

工作

< / div >< / div >< / div >
Trustpilot< / div >
< / div >< / div >< / div >< / div >
媒体报道< / div >

... 允许公司快速组建具有特定项目所需技能的团队.

< / div >

尽管对编码员的需求不断增长,PT视讯却以其几乎达到常春藤盟校(Ivy league)水平的审核而自豪.

< / div >< / div >< / div >
我们的客户< / div >
创建一个跨平台应用,供全世界使用
< / div >
蒂埃里Jakicevic< / div >
创建一个跨平台应用,供全世界使用< / div >
< / div >< / div >< / div >< / div >< / div >
奖状< / div >

如果没有PT视讯, Tripcents就不会存在. PT视讯 Projects让我们的基金会在产品经理的帮助下快速发展, 带领开发人员, 和高级设计师. 在60多天的时间里,我们从概念到Alpha. 它的速度、知识、专业技能和灵活性是首屈一指的. PT视讯团队和其他内部团队成员一样,都是tripcents的一部分. 他们和其他人一样为开发做出了贡献并获得了所有权. 我们将继续使用PT视讯. 作为一个创业公司,它们是我们的秘密武器.

< / div >

首席执行官Brantley步伐 & 联合创始人

Tripcents

< / div >< / div >

我对PT视讯的经验非常满意. 和我一起工作的专业人士在几个小时内就和我通了电话. 在和他讨论了我的项目后,我知道他是我想要的候选人. 我立刻雇佣了他,他也立刻参与了我的项目, 甚至通过添加一些很棒的设计元素来增强我们的整体外观.

< / div >

导演保罗•Fenley

K邓恩 & 的同事

< / div >< / div >

与我搭档的开发人员都非常出色——聪明、有动力、反应灵敏. 过去很难找到高质量的工程师和顾问. 现在不是.

< / div >

瑞安·洛克菲勒,首席执行官

Radeeus

< / div >< / div >

PT视讯立即理解了我们的项目需要. 我们请来了一位来自阿根廷的优秀自由职业者, 从第一天起, 投身于我们的行业, 与我们的团队完美融合, 理解我们的愿景, 并产生了一流的结果. PT视讯使得与高级开发人员和程序员的联系非常容易.

< / div >

Jason Kulik创始人之一

ProHatch

< / div >< / div >

作为一家资源有限的小公司,我们不能犯代价高昂的错误. PT视讯为我们提供了一个经验丰富的程序员,他能够立即投入工作并开始贡献. 这是一个伟大的经历,我们会在心跳中再次重复.

< / div >

斯图尔特·柏克尼校长

站点专用软件解决方案

< / div >< / div >

我们通过PT视讯聘请了一位拥有丰富亚马逊网络服务经验的开发人员. 我们面试了四位候选人,其中一位非常符合我们的要求. 这一过程迅速而有效.

< / div >

Abner Guzmán Rivera,首席技术官和首席科学家

照片Kharma

< / div >< / div >

Sergio是一个非常棒的开发者. 一流,反应灵敏,工作效率高.

< / div >

Dennis Baldwin,首席技术专家和联合创始人

PriceBlink

< / div >< / div >

和Marcin一起工作是一种乐趣. 他是主管, 专业, 灵活的, 并且非常快地理解需要什么以及如何实现它.

< / div >

Andre Fischer首席技术官

POSTIFY

< / div >< / div >

我们需要一位专业的工程师,他能立即开始我们的项目. Simanas的工作超出了我们的预期. 不需要面试和寻找专业的开发人员是一个非常好的时间节省,并使每个人对我们选择转换平台以使用更健壮的语言感到更舒服. PT视讯让这个过程变得简单和方便. PT视讯现在是我们寻求专家水平帮助的第一个地方.

< / div >

Derek Minor,网络开发高级副总裁

Networld传媒集团

< / div >< / div >

PT视讯的开发人员和架构师都非常专业,也很容易共事. 他们所提供的解决方案价格合理且质量上乘,从而缩短了我们的发行时间. 再次感谢,PT视讯.

< / div >

首席执行官杰里米鞋号

Kognosi

< / div >< / div >

PT视讯给我们带来了很棒的体验. 他们为我们的应用程序匹配了完美的开发人员,使这个过程非常容易. 它也很容易超出最初的时间框架, 我们能够在整个项目中保持同一个承包商. 我们强烈推荐PT视讯快速无缝地寻找高质量人才.

< / div >

瑞安莫首席技术官

应用商业技术有限公司

< / div >< / div >

PT视讯给我留下了深刻印象. 我们的开发人员每天都和我交流,他是一个非常强大的程序员. 他是一个真正的专业人士,他的作品非常出色. PT视讯 5星.

< / div >

首席执行官皮特Casoar

Ronin Play Pty Ltd

< / div >< / div >

与PT视讯合作是一次很棒的经历. 使用它们之前, 我花了很长时间采访其他的自由职业者,却没有找到我需要的. 在与PT视讯接触后,他们在几天内就为我找到了一个完美的开发者. 与我一起工作的开发人员不仅交付高质量的代码, 但他也会对一些我没有想到的事情提出建议. 我很清楚阿莫里知道他在做什么. 强烈推荐!

< / div >

首席执行官乔治•程

Bulavard公司.

< / div >< / div >

作为一名合格的PT视讯前端开发人员,我还经营着自己的咨询业务. 当客户来找我帮忙填补他们团队中的关键角色时, PT视讯是我唯一放心推荐的地方. 托普塔尔的所有候选人都是精英中的精英. PT视讯是我在近五年的专业在线工作中发现的最物有所值的.

< / div >

伊桑•布鲁克斯首席技术官

Langlotz专利 & 商标工作的公司.

< / div >< / div >

在讨价还价早期, 我们需要一流的开发人员, 以可承受的利率, 及时地. PT视讯交付!

< / div >

首席执行官劳拉Aldag

讨价还价

< / div >< / div >

PT视讯让你非常容易找到一个候选人,并让你放心,他们有能力提供. 我肯定会向任何寻找高技能开发人员的人推荐他们的服务.

< / div >

Michael Gluckman,数据经理

Mxit公司——

< / div >< / div >

PT视讯能够迅速将我们的项目与最优秀的开发人员匹配起来. 开发人员已经成为我们团队的一部分, 我对他们每个人所表现出的敬业程度感到惊讶. 对于那些希望与最好的工程师远程工作的人来说,PT视讯是最好的选择.

< / div >

创始人Laurent爱丽丝

Livepress

< / div >< / div >

PT视讯让找到合格的工程师变得轻而易举. 我们需要一个有经验的ASP.净 MVC架构师来指导我们的初创应用程序的开发, PT视讯在不到一周的时间里就有了三个很好的候选人. 在我们做出选择后,工程师立即上线并开始工作. 这比我们自己发现和审查候选人要快得多,也容易得多.

< / div >

联合创始人杰夫•凯利

协同解决方案

< / div >< / div >

我们需要一些短期的Scala开发工作,PT视讯在24小时内就为我们找到了一个优秀的开发人员. 这是任何其他平台都不可能实现的.

< / div >

弗兰科斯巴达,创始人之一

WhatAdsWork.com

< / div >< / div >

PT视讯为快速发展和规模化的企业提供了不妥协的解决方案. 我们通过PT视讯聘请的每一位工程师都迅速融入了我们的团队,在保持卓越开发速度的同时,他们的工作达到了最高的质量标准.

< / div >

联合创始人格雷格•金博

nifti.com

< / div >< / div >
< / div >< / div >

©反应.Js属于 脸谱网公司.

< / div >< / div >< / div >
< / div >< / div >< / div >

如何招人.js开发者通过PT视讯

< / div >
1< / div >
< / div >

与我们的行业专家之一谈谈

PT视讯的工程总监将与您一起工作,以了解您的目标, 技术需求, 和团队动力.< / div >< / div >< / div >< / div >
2< / div >
< / div >

与精心挑选的人才一起工作

几天之内,我们将向您介绍正确的反应.Js开发者为您的项目. 平均匹配时间在24小时以下.< / div >< / div >< / div >< / div >
3< / div >
< / div >

合身,保证

使用你的新反应.Js开发人员试用期(只支付如果满意), 在订婚前确保他们是合适的人选.< / div >< / div >< / div >< / div >< / div >< / div >< / div >< / >节< / div >< / div >

常见问题

  • PT视讯反应如何.js开发人员不同?

    在PT视讯,我们会彻底筛选反应.Js开发人员,以确保我们只匹配您的人才的最高水平. 超过100个,每年有1万多人申请加入PT视讯网络, 只有不到3%的人能成功. 你将与工程专家(而不是一般化的招聘人员或人力资源代表)一起工作来理解你的目标, 技术需求, 和团队动力. 最终的结果是:专家从我们的网络中审查人才,定制匹配,以满足您的业务需求. 现在就开始.

    < / div >
  • 我能雇佣反应吗?.js开发者在不到48小时内通过PT视讯?

    根据可用性和进度的快慢,你可以开始使用反应.Js开发者在48小时内注册. 现在就开始.

    < / div >
  • PT视讯反应的无风险试用期是什么时候.js开发人员?

    我们确保你和你的反应之间的每一次接触.Js开发人员开始了长达两周的试用期. 这意味着您有时间确认订婚是否成功. 如果你对结果完全满意的话, 我们将按时间向你收费,你们的婚约想继续多久就继续多久. 如果你不完全满意,你不会被收费. 从那里, 我们有两种选择, 或者我们可以为您提供另一位可能更适合的专家,我们将与他开始第二个, 无风险试用. 现在就开始.

    < / div >
< / >节
< / div >
< / div >
< / div >< / div >分享< / div >< / div >
反应.js

如何雇佣优秀的反应者.js开发人员

< / div >

介绍

客户端应用程序开发的另一波发展即将到来. 它涉及ES6, JavaScript的新版本, 通用应用程序, 函数式编程, 服务器端渲染和webpack, 就像一个带着喷气背包的任务执行者.

而且反应现在超级火. 它是一个简洁和优秀的框架来构建高性能的组件. 因为我们已经有了这些, 您如何找到缺失的部分——能够欣然接受并为您构建最先进软件的工程师?

反应彻底改变了我们对应用程序的看法

反应彻底改变了我们对应用程序的看法< / div >
推特 < / div >

反应很明显

先做重要的事. 在反应仅仅作为一个视图库进行营销的背景下, 由于客户端应用程序包含的不仅仅是视图, 反应并不是你的候选人会使用的唯一工具. 尽管如此,这仍然是一个至关重要的问题. 以下是一些筛选问题.

问:反应中的高阶组件是什么?

一般来说,高阶组件是一个包装器. 它是一个函数,它接受一个组件作为它的参数,并返回一个新的. 它可以用来扩展或修改所包含组件的行为(包括呈现的输出). 这种不需要修改反应中的底层类就能改变行为的组件的使用,其特征就是装饰器模式.

高阶组件是一种使用组合构建组件的方法. 一个示例用例是抽象出代码片段, 对多个组件来说是通用的:

球员.js

import 反应, {Component, PropTypes} from ' 反应 ';

导出默认类播放器扩展组件{
  静态proptype = {
    黑色:proptype.保龄球
    数据:proptype.对象,
    风格:proptype.object
  };

  静态defaultProps = {
    黑色:假的,
    数据:{
      src:空,
      标题:“
    },
    风格:{}
  };

  呈现(){
    Const {black, data, styles} = 这.道具.数据;
    回报(
      

{data.caption}

); } }

考虑这个组件,它持有 球员 但也包含 模块 标记. 该标记可以被其他组件重用. 让我们抽象它,并允许属性的传递:

球员.js

import 反应, {Component, PropTypes} from ' 反应 ';
从'中导入模块容器./ ModuleContainer”;

导出类球员Inline扩展组件{
  静态proptype = {
    数据:proptype.object
  };

  静态defaultProps = {
    数据:{
      src:空,
      标题:“
    }
  };

  呈现(){
    Const {src, caption} = 这.道具.数据;
    回报(
      

{caption}

); } } const 球员 = new ModuleContainer(球员); 出口默认播放器;

ModuleContainer.js

import 反应, {Component, PropTypes} from ' 反应 ';

导出模块容器的默认函数
  return class extends Component {
    静态proptype = {
      黑色:proptype.保龄球
      风格:proptype.object
    };

    呈现(){
      Const {black, styles} = 这.道具/ / eslint-disable-lint
      回报(
        
); } }; }

现在我们仍然可以使用前面的实例化方法 球员,这里没有变化. 如果愿意,我们也可以使用内联播放器. 然后模块包装器标记和道具可以用于其他模块:

<球员 data={playerData} styles={模块Styles} />

<球员Inline data={playerData} />

在反应 for ES6中,更高阶的组件是对不再混合的设计决策的直接回答, 哪些是2015年初完成的. 事实上, 高阶组件使结构更清晰, 它们更容易维护,因为它们是分级的, 而混合有一个更大的冲突的机会,因为一个扁平的结构.

要了解更多,请查看 更高阶组件的另一个示例用例,重点关注消息传递道具. 也检查 介绍优先使用高阶组件而不是mixin, 由丹·阿布拉莫夫概述, 回来的的作者和一个 有趣的例子,高级作文使用参考本纳达尔.

问:应该依赖哪些组件 状态,为什么?

考虑到关注点的分离,将表示与逻辑解耦似乎是明智的. 在反应世界中,所有东西都是组件. 但是用于表示数据的组件不应该必须从API获取数据. 惯例是 表象的 (哑)组件无状态,和 容器 依赖于状态的组件.

尽管如此,公约并不严格. 反应中也有不止一种状态类型. 尽管不同的意见, 在表示组件(尤其是交互组件)中使用本地状态似乎并不是一种坏的实践.

另一个区别是组件类和无状态函数组件之间的区别. 显然,后者没有状态. 说到无状态函数组件, 官方建议在可能的情况下使用它们.

问:什么是JSX? 它是如何工作的,为什么要使用它?

JSX是反应 JavaScript的语法糖, 因为它有类似xml的语法,所以很容易编写组件. 然而,JSX是JavaScript而不是HTML, 反应将JSX语法转换为纯JavaScript.

乍一看,它看起来很笨拙,尽管许多熟练的开发人员现在已经习惯了它. 使用它的主要原因是简单. 定义即使是轻微复杂的结构,最终将呈现为HTML可能是令人畏缩和重复的:

反应.createElement('ul', {className: 'my-list'}, 
  反应.createElement('li', {className: 'list-element'}, 
    反应.createElement('a', {className: 'list-anchor', href: 'http://google.com“}”,PT视讯.com”),
    反应.createElement('span', {className: 'list-文本'}, ' Welcome to the network')
  ),
  反应.createElement('li', {className: 'list-element'}, 
    反应.createElement('div', {className: 'list-item-content'}, 
      反应.createElement (SomeCustomElement{数据:elementData})
    )
  )
);

对比:

  • PT视讯.com Welcome to the network

考虑使用多个嵌套的更复杂的元素导航组件. 简洁是大多数框架都有一些模板引擎的原因之一,而反应有JSX.

要了解更多,请查看 在容器组件上下文中对JSX有影响的讨论.

前端开发的新方法

ES6 (ECMA Script 2015)是JavaScript的新版本,不久前发布了. 在开源社区中,大多数反应材料使用的是ES6,有时甚至是ES7. 新版本增加了JavaScript的表达能力,并修复了该语言的一些问题. 目前的标准程序是使用 巴别塔,将ES6编译为ES5. 它允许我们在ES6中编写代码, 并让它在当前大多数浏览器如ES5上正确执行. 因此,至关重要的是,你将聘请的开发人员精通ES6.

问:ES6的功能有哪些新特性?

实际上有一些. 最突出的是箭头函数表达式, 这是一种写匿名函数表达式的简洁方式:

var counterArrow = counter => counter++;
// equivalent to function (counter) { return counter++; }

有显著的差异. 具有箭头函数的 这 对象捕获封闭范围的值. 所以不需要再写了 Var that = 这.

另一个区别是参数定义或传入的方式. ES6提供默认参数和rest参数. 当调用中没有提供参数时,默认参数是设置参数默认值的非常有用的方法. 其余的参数, 哪些与扩展操作符有类似的语法, 允许以优雅的方式处理传递给函数的不确定数量的参数.

var商业逻辑=(产品,价格= 1, ...rest) => {
  产品.价格=价格;
  产品.详细信息=其他.map(detail => detail);
};

问:ES6和反应中有什么类?

ES6类提供了创建对象的方法,实际上仍然依赖于原型继承. 它们大多是语法糖,但非常方便. 然而,它们不是反应类所必需的.

反应类是组件. 可以用三种方式之一定义它们:使用 反应.createClass () 方法,使用ES6类,或使用函数来创建无状态函数组件:

const Counter1 = 反应.createClass ({
  proptype: {
    数:proptype.数量
  }

  defaultProps: {
    数:0
  }

  呈现:函数(){
    return Count: {这.道具.count};
  }
});
类Counter2扩展组件{
  静态proptype = {
    数:proptype.数量
  }

  静态defaultProps = {
    数:0
  }

  呈现(){
    return Count: {这.道具.count};
  }
}
函数Counter3(道具){
  return Count: {道具.count};
}

Counter3.proptype = {
  数:proptype.数量
};

Counter3.defaultProps = {
  数:0
};

如前所述,建议尽可能使用无状态函数组件. 然而,这些组件还没有进行性能优化. 在回来的和GitHub中考虑以下问题 反应 要了解更多.

问:什么是本地风格,或者内联风格,是web开发中新的风格趋势?

这个很酷. 到目前为止,声明式CSS总是共享一个全局作用域. 要向可重用组件添加样式,开发人员必须仔细选择名称空间. 另一件事, 有时使用CSS很困难, 因为有些样式需要计算, 所以这个单一的样式成了一个例外. 当然有 钙(),但这并不总是足够的.

当地的风格,有时也被称为 内联样式,解决这两个问题. 现在可以将样式表绑定到组件,因为组件知道它们相对于它们的作用域来说仍然是本地的. 样式不会影响作用域以外的元素. 如果这还不够,还可以在JavaScript中使用这些样式.

AlertWidget.scss

.alertWidget {
  字体参数:斜体;
  边框:1px实心红色;
  填充:13 px;
}

.警报{
  粗细:700;
  颜色:红色;
}

AlertWidget.js

import 反应, {PropTypes} from ' 反应 ';

函数AlertWidget(道具){
  Const styles = require(')./ AlertWidget.scss”);
  回报(
    

{道具.alert}

{道具.文本}

); } AlertWidget.proptype = { 警告:proptype.文本, 文字:proptype.文本 }; 出口默认AlertWidget;

也许并非所有样式都必须本地化,但它确实是一个非常强大的工具. 要了解更多,请查看 在《PT视讯官网》上对当地风格有影响的介绍 和 关于css技巧中内联样式的优缺点的讨论

反应彻底改变了我们对应用程序的看法

你如何陈述

包含不止一个组件的应用程序, 特别是较大的应用程序, 仅使用本地组件状态很难维护吗. 除了控制器风格的逻辑之外,在反应中添加其他东西似乎也是一种糟糕的做法. 但是不要担心,已经有解决办法了.

Q: 反应中应用程序的状态是什么?

答案很简单——它是一个表示应用程序当前数据集和其他属性的对象. 应用程序状态与组件本地状态的不同之处在于它可以被多个组件引用.

另一个区别是应用程序状态不应该直接更改. 唯一可以更新的地方是商店. 存储管理应用程序状态, 还定义了可以分派的动作, 例如用户交互的结果.

大多数反应组件不应该依赖于应用范围. 表示组件应该能够访问数据块, 但是这些数据应该通过属性提供给他们. 在反应, 约定是只让容器元素分派操作并引用应用程序范围.

Q:那么,反应中有哪些管理国家的工具呢?

在用反应构建的应用中处理应用状态通常是在反应之外完成的. 脸谱网, 是他带来了反应, 还介绍了Flux架构和它的足够多的实现. 客户端应用程序的Flux部分是发生前端业务逻辑的地方.

反应与Flux并不紧密相连. Flux的实现也不止一个. 事实上,有很多,也有其他非常受欢迎的作品是受Flux启发的. 最流行的Flux应用是脸谱网 Flux、Reflux和Alt.js. 还有回来的,它是基于Flux原则的,很多人认为是对Flux的改进.

这些库都将完成这项工作. 然而,开发者需要做出选择,这对于开发者来说至关重要. 作出选择的一些合理标准:

  • 库有多受欢迎? 看看GitHub上的星星和分叉数.
  • 框架是否得到维护? 检查过去两周内完成了多少提交. 此外,阅读作者的笔记和公开和不公开的问题.
  • 文档的状态是什么? 这一点尤为重要, 可以添加或更改团队成员,但软件的代码库必须清晰.
  • 开发人员对特定框架的了解程度如何?

在写这篇文章的时候,回来的是迄今为止最流行的一种. 《PT视讯官网》的作者也对它进行了评论,他们认为这是一项出色的工作. 文档很棒,作者还提供了30个免费的短视频教程. 框架本身非常简单,并且与函数式编程范型非常一致.

Alt.Js也有一个充满活力的社区, 在众多文章中好评如潮, 并且有很好的文档. Alt.js也是一个纯粹的Flux实现. 为了支持前面提到的两个实现,我们放弃了其他几个实现.

下面是回来的的作者Dan Abramov写的一篇关于Flux不同实现的文章

Q:什么是单向数据流? 它有什么好处?

单向数据流构成了对应用程序状态的所有更改都以相同的通用方式完成. 该流遵循Flux实现和回来的中类似的模式. 模式从一个动作开始, 哪些是由存储分派和处理的,并且具有更新状态的效果, 这反过来会导致更新的视图.

遵循这个模式, 使用Flux或回来的管理其状态的应用程序是可预测和规范化的. 每个州的版本都是调用一组操作的结果. 这意味着现在可以更容易地通过监视分派了哪些操作来重现每个用户体验. 这是一个有用的例子 关于在Auth0上使用Flux记录和重放用户动作的文章.

它在调试时也非常有用. 事实上, 这是受Flux启发的最流行的框架之一, 回来的, 是作为创建一套新的开发者工具的副作用而产生的,而这些工具本身依赖于Flux的概念. 有一种话对它说,叫 丹·阿布拉莫夫的《时空重装.

杂项

编程方法有很多,一般来说软件工程也有很多方法. 编程范例的不同远远超出了风格. 最近,JavaScript中的函数式编程被多次提及. 对于那些想要拥抱它的开发者来说,还有很多优点等着他们.

问:请解释函数式编程的范例.

函数式编程是一个范例,它强调:

  • 编写纯粹的函数.
  • 没有一个全球性的状态.
  • 不突变数据.
  • 高阶函数的组合.

纯功能不会产生副作用, 也是幂等的, 这意味着当给出相同的参数时,它们总是返回相同的值.

依赖函数式编程的程序有两个主要优点. 它们易于理解,也易于测试. 与此形成鲜明对比的是, 将变量赋值到全局作用域, 依赖事件, 变异的数据很容易使应用程序变得混乱. 从JavaScript开发人员的角度来看, 我甚至会说,它很容易以难以理解和容易出错的代码结束.

JavaScript不是一种严格意义上的函数式语言. 然而, 具有一等公民的功能, 这意味着它们可以像其他类型一样被赋值和传递,并且是可组合的, JavaScript开发人员当然可以采用函数式编程.

最近有很多文章称赞这种风格. 不过,似乎最重要的是新工具,它们很快就变得非常流行. 这些工具在不同程度上结合了关键的函数式编程思想, ,包括回家的, 反应的最新更新, 还有像培根这样的人.js.

问:如何在反应中倾向于函数式编程?

首先,编写反应代码主要集中在编写好的JavaScript代码上. 用JavaScript编写函数式编程的一般方法是保持一致的编程风格, 关注:

  • 编写纯粹的函数.
  • 保持函数小.
  • 总是返回一个值.
  • 组合函数(利用高阶函数).
  • 没有变异数据.
  • 不产生副作用.

JavaScript中有许多适合函数式编程的工具,其中包括: .map (), .reduce (), .filter (), .concat. 也有新的ES6功能可用,如原生承诺或 传播…… 操作符.

还有,还有一些可用的短绒,比如 eslint 特别是结合了基于linter的配置 Airbnb JavaScript 和 反应风格指南. 还有其他的工具,比如 不可变的.js 代码模式是这样的 低温冷藏的功能,这有助于防止数据发生突变,这在测试中尤其有价值.

反应版本0.14 .引入无状态函数组件, 哪些是从面向对象编程向函数式编程迈出的一步. 这些组件是最小的,应该在可能的时候使用. 一般来说,反应应用中的绝大多数组件都应该是呈现的.

使用回来的是函数式编程方向上的又一步. 回来的使用函数调用,不像Flux依赖于事件. 所有的回来的还原器也是纯函数. 回来的永远不会改变应用程序状态. 相反,reducers总是返回一个新的状态.

问:如何测试反应应用程序?

最后但并非最不重要的是开发人员的测试方法. 回归问题是挫折的最终来源. 除了允许开发人员和客户端确保应用程序按预期工作之外, 测试是对回归问题的补救.

构建持续集成或部署环境,在其中自动测试每个推送的提交, 如果部署成功, 现在已经成为标准了吗. 它很容易设置,在许多SaaS上都有免费计划. Codeship 例如,有很好的集成和免费计划. 另一个很好的例子是 特拉维斯CI 哪一种提供了更稳定和成熟的感觉,并且对开源项目是免费的.

还必须进行实际的测试. 测试通常使用一些框架编写. 脸谱网为反应提供了一个测试框架, 它被称为开玩笑, 改编自流行歌曲《茉莉花》. 另一个更灵活的行业标准是摩卡咖啡, 常与测试跑者Karma结合.

反应还提供了另一个超级特性TestUtils. 它们提供了一整套专门用于测试组件的工具. 它们创建一个抽象,而不是将组件插入到实际的页面中, 哪些组件允许使用单元测试来编译和测试组件.

要深入了解反应应用的测试,你可以阅读我们的 博客. 我还建议大家观看以下网站提供的材料 书呆子.io, 那里有一些系列寻址反应, 还有Flux和回来的, 甚至是一个聚焦于 测试反应应用程序.

结论

反应为客户端应用程序带来了高性能,并使使用它的项目处于良好的位置. 该图书馆使用广泛,并有一个充满活力的社区. 大多数情况下,使用反应还需要包含其他工具来交付完整的应用. 有时,它可能要求更通用的技术升级.

众所周知,网页开发和移动应用开发(安卓和iOS)的发展速度非常快. 新工具变得流行,变得有价值,并在几个月内就可以使用. 这些创新不仅仅包括工具, 并且经常延伸到代码风格, 应用程序结构和系统架构. 前端开发人员被期望构建可靠的软件并优化过程. 最好的人思想开放,充满自信地提出合理的论点. PT视讯工程师 是否能够领导敏捷开发团队, 项目, 开发过程, 并引进新技术为产品带来效益.

< / div >< / div >
< / div >

特色PT视讯反应.js出版物

< / div >
工程Web前端< / div >

使用回来的工具包和RTK查询创建反应应用

by Gurami Dagundaridze< / div >< / div >< / div >< / div >
< / div >
工程Web前端< / div >

企业应用程序的最佳反应状态管理工具

by Teimur Gasanov< / div >< / div >< / div >< / div >
< / div >
工程Web前端< / div >

反应SEO策略和最佳实践

by Vineet《PT视讯》的< / div >< / div >< / div >< / div >< / div >
查看更多的反应.js的文章< / div >< / >节

最高的反应.js开发人员的需求量很大.

开始招聘< / div >

Footer

最受欢迎的人才

  • iOS开发者
  • 前端开发人员
  • 用户体验设计师
  • UI设计人员
  • 金融建模顾问
  • 临时首席财务官
  • 数字项目经理
  • AWS专家
< / div >

关于

  • 排名前3%
  • 客户
  • 自由开发人员
  • 自由设计师
  • 自由金融专家
  • 自由职业项目经理
  • 兼职产品经理
  • 自由的工作
  • 专业服务
  • 公用事业公司 & 工具
  • 关于我们
< / div >

联系

  • 联系我们
  • PT视讯官网
  • 职业生涯
  • 常见问题解答
< / div >

社会

< / div >< / div >
< / div >
< / div >
< / div >
®< / div >
世界顶尖人才的需求 ®< / div >< / div >< / div >< / div >< / div >< / div >
  • 版权所有:PT视讯官网
  • 隐私政策
  • 网站上
  • 可访问性
< / div >< / div >
< / div >
< / div >
< / div >