首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

组长指出了我使用react常犯的错误

背景 年底了,换了项目组,新的项目组使用react,从vue到react,我只花了一天的时间,看了官方简单的文章之后,就觉得这玩意很简单啊,比起vue的那么api来说,这根本没有学习成本好吧,十分迅速的就进入了...react的项目开发,并且洋洋得意,根据我多年的经验来看,这波肯定会得到领导的赏识 很快,我就做完了我的需求,把代码提交上去,组长可能确实比较闲,还review了我的代码,并且指出了一系列的问题,并告诉我说学习...react最难的部分,并不是知道怎么使用它,而是要知道怎么能够编写良好,干净的react代码 主要给我提了六点错误,我相信在座的各位,可能需要对号入座 在不需要使用state的时候使用state 涉及到项目中的代码逻辑...count的值是固定的,也就是我们常说的setState是异步的原因(当你更改状态的时候,它不会立刻更新,而是等到下一次render才会更新),并且react会将state进行批处理,但是如果是函数的形式...常见useEffect错误 const [user, setUser] = useState(""); const person = { user } useEffect(() => { console.log

89330
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    nodejs中的异常错误处理

    大部分程序员们都不敢保证自己的代码百分比正确,所以应该在写代码时就要对异常提前做预防处理,尽量保证在异常出现时,给用户一个友好的提示,不至于服务挂起导致请求超时,并且能将异常信息做记录上报,方便后期排查解决...然而却没有捕获到异步错误。 2. process的uncaughtException事件 那异步错误该怎么处理呢?...首先换个思维,因为异常并不是事先准备好的,不能控制其到底在哪儿发生,所以站更高的角度,如监听应用进程的错误异常,从而捕获不能预料的错误异常,保证应用不至于奔溃调。...另外在官方文档上,domain模块处理废弃状态,但是现在也没有其他方案可以完全代替domain模块,但是我现在node10的版本依旧可以用,暂时应该不用担心domain模块被废弃的问题。 三....下面是将cluster和domain结合起来使用,以多进程的方式保证服务可用,同时可以将错误信息传递下去进行上报,并且保留错误出现的上下文环境,给用户返回请求,不让用户请求超时,然后在手动杀死异常进程,

    2.5K10

    nodejs中的异常错误处理

    大部分程序员们都不敢保证自己的代码百分比正确,所以应该在写代码时就要对异常提前做预防处理,尽量保证在异常出现时,给用户一个友好的提示,不至于服务挂起导致请求超时,并且能将异常信息做记录上报,方便后期排查解决...然而却没有捕获到异步错误。 2. process的uncaughtException事件 那异步错误该怎么处理呢?...首先换个思维,因为异常并不是事先准备好的,不能控制其到底在哪儿发生,所以站更高的角度,如监听应用进程的错误异常,从而捕获不能预料的错误异常,保证应用不至于崩溃。...另外在官方文档上,domain模块处理废弃状态,但是现在也没有其他方案可以完全代替domain模块,但是我现在node10的版本依旧可以用,暂时应该不用担心domain模块被废弃的问题。 三....下面是将cluster和domain结合起来使用,以多进程的方式保证服务可用,同时可以将错误信息传递下去进行上报,并且保留错误出现的上下文环境,给用户返回请求,不让用户请求超时,然后在手动杀死异常进程,

    4.2K30

    我的NodeJS学习之路9(改善代码)

    全球最大的同性交友网站挂了,让我等技术宅还怎么好好的撸代码呢? 好了,闲篇少扯,说点正事吧。今天我们来介绍程序中用到的几个强大的中间件。...async - 强大的异步功能支持 之前已经简单介绍过,请移步NodeJS异步流程控制简单介绍。为什么要将这个中间件呢,因为当你接触nodejs代码多了之后,难免会受到“回调之痛”。...各种的回调嵌套真的把你给玩坏了。代码看起来就好像多层的if-else嵌套一样。...404后,会给出这样一个错误页面 ?...404 而实际上404跟500是不一样的,500是服务器端程序错误,404是很常见的一种资源不存在的错误,500能避免,但是404是不可避免的,所以我们需要有好的提示给用户一个404页面。

    1K30

    我的NodeJS学习之路5(路由设计)

    欢迎Star、Fork:https://github.com/gefangshuai/ANodeBlog NodeJS路由规范遵循RESTful 规范,更多有关RESTful的相关知识请参考RESTful...所以我们的路由要针对这两部分用户分别进行设计,我遵循的原则是:普通用户:路由尽量简短明了(可参考简书);管理员用户:直观表达功能 普通用户路由 这里的普通用户路由是指:普通用户就能操作的功能模块...同样,对于管理者的路由,在原来的基础上,都以/dashboard/前缀表示。...(这样划分也是为了后面做权限控制作铺垫的,后面会专门介绍权限控制的相关内容) 在app.js中注册路由: app.use('/dashboard', authority.isAuthenticated,...对于路由的设计,尽量遵循标准规范,这样对于我们的程序,可很好维护控制。

    67720

    我的NodeJS学习之路8(优化体验)

    正如官网的介绍,我觉得这货是一个全能的处理日期的中间件。...细心的朋友可以发现,Momentjs也提供了bower的安装包,所以直接可以在前台使用,但是我们并不推荐这样做,把处理放到前台会影响用户的体验。所以我们使用npm包放到后台去处理。...只要你在Gravatar的服务器上上传了你自己的头像,你便可以在其他任何支持Gravatar的博客、论坛等地方使用它。...——转自wikipedia 玩过网站的童靴对这货应该不陌生,我第一次接触是从Wordpress开始的。只需要一个邮件账号,就可以建立你自己的全球公认头像。...s=100&r=x&d=retro 如何在国内正常使用 由于不可抗力,gravatar的服务器已经被墙了…… 我们可以使用多说的服务来加速gravatar的请求。

    1.5K40

    我的NodeJS学习之路4(初始配置)

    欢迎Star、Fork:https://github.com/gefangshuai/ANodeBlog ---- 整个工程结构已经有了,下面来说一下几个简单但重要的配置: 定义一个简单的配置文件,...存放项目配置信息 一个完整的项目中,会有各种配置信息,如何组织这些信息,会给我们后期的维护成本带来不同的影响。...为了更好的维护项目,我习惯定义一个配置文件来专门组织这些信息,我们可以命名为config.js,放到项目根目录下,直观表现。...需要有一个统一的管理,我称之为filter。将这个filter定义在所有的请求之上。node执行顺序是从上往下,所以每个请求在页面上都会拿到这些参数。...新建好的工程默认使用的是hbs,相似的还有express-handlebars、express-hbs,三者除了用法,功能上没有太大的区别,都是针对Handlebars后台模版引擎的一个封装,选择哪个,

    1.2K20

    我的NodeJS学习之路7(权限认证)

    欢迎Star、Fork:https://github.com/gefangshuai/ANodeBlog 本文来介绍系统中用到的权限认证的知识。 首先简单介绍一下passportjs。...Passport做登录验证具有:灵活性、模块化、丰富的中间件等特点,更加详细的介绍请参考:http://idlelife.org/archives/808 如何在项目中使用passport?...username:需要验证的“用户名” password:需要验证的“密码” done: 对验证结果的处理方法 username和password默认对应表单的name="username"和name...做登录处理 在处理登陆请求的路由中,加入登录处理的配置信息,然后passport会自动帮你处理是否登录成功(有点类似shiro)。...success_callback:验证成功后做的处理,可以是登录成功后的跳转等等。 4.

    1.9K30

    给程序员的“错误”找个台阶

    本爷工作中常常以错误零容忍自居,对团队的错误"颐指气使",想来也是让人极为厌恶的。人非圣贤,高人亦如此,何况吾凡辈。有些错误换个角度反而是一种美,那我们就从递台阶开始吧。...不过这个锅到底是不是老李的,历史过于悠久,搜遍Google亦无从考证,遂作罢。老李背不动总得有jdk的某个人背。 管杀不管埋,个人觉得,是程序员群体特别容易掉进去的一个错误陷阱。...考完后的阅卷原以为平淡无奇,直到发现有人在编程题里注入了XSS代码,具体的弹窗内容已经不记得了,我只记得他当时错了蛮多题,理应过不了考试,但是我依然给了他过,不只是因为有趣还因为作为小鲜肉程序员有如此的知识厚度很难得...此时的我并不想拿规范考试束缚他。 恩,足够牛逼的人走到哪里都会有特权,就是这么回事。...笑话一则: 当年Linux之父Linus说:上帝在梦中告诉我,我做出了最优秀的操作系统。 高德纳回答说:我可没这么说过。

    64920

    nodejs中错误捕获的一些最佳实践

    很多人其实不是很重视错误处理,但对于构建一个健壮的nodejs应用,错误处理是非常重要的一件事情,希望本文可以给你一些启发。 先抛出几个问题: 应该用哪种方式暴露错误?...(err) { if (err) throw (err); // 直接throw if (err) callback(err); // 使用callback,nodejs中常见的异步处理方式...例如nodejs应用因为一个变量undefined导致crash,这是编码错误,客户端则会接收到ECONNRESET错误,这属于操作错误,对于客户端来说应该可以预期到服务器的这个错误。...对于预料之外你不知道如何处理的错误,比较好的方式是记录error并crash,传递合适的错误信息给客户端。 如何处理 代码错误 最好的方式是立即crash。...一般来说,在nodejs中,同步函数导致的操作错误是比较少见的,使用try...catch会很少,常见的是用户输入验证如JSON、解析等。 一个函数的参数、类型、预期错误、如何捕获都应该是明确的。

    1.3K30

    nodejs中错误捕获的一些最佳实践

    很多人其实不是很重视错误处理,但对于构建一个健壮的nodejs应用,错误处理是非常重要的一件事情,希望本文可以给你一些启发。 先抛出几个问题: 应该用哪种方式暴露错误?...例如nodejs应用因为一个变量undefined导致crash,这是编码错误,客户端则会接收到ECONNRESET错误,这属于操作错误,对于客户端来说应该可以预期到服务器的这个错误。...对于预料之外你不知道如何处理的错误,比较好的方式是记录error并crash,传递合适的错误信息给客户端。 如何处理 代码错误 最好的方式是立即crash。...一般来说,在nodejs中,同步函数导致的操作错误是比较少见的,使用try...catch会很少,常见的是用户输入验证如JSON、解析等。 一个函数的参数、类型、预期错误、如何捕获都应该是明确的。...nodejs之前就已经有操作错误、编码错误的概念,参考这里 https://en.wikipedia.org/wiki/Assertion_(software_development)#Comparison_with_error_handling

    1.2K10

    nodejs 中错误捕获的一些最佳实践

    很多人其实不是很重视错误处理,但对于构建一个健壮的nodejs应用,错误处理是非常重要的一件事情,希望本文可以给你一些启发。 先抛出几个问题: 应该用哪种方式暴露错误?...例如nodejs应用因为一个变量undefined导致crash,这是编码错误,客户端则会接收到ECONNRESET错误,这属于操作错误,对于客户端来说应该可以预期到服务器的这个错误。...对于预料之外你不知道如何处理的错误,比较好的方式是记录error并crash,传递合适的错误信息给客户端。 如何处理 代码错误 最好的方式是立即crash。...一般来说,在nodejs中,同步函数导致的操作错误是比较少见的,使用try...catch会很少,常见的是用户输入验证如JSON、解析等。 一个函数的参数、类型、预期错误、如何捕获都应该是明确的。...nodejs之前就已经有操作错误、编码错误的概念,参考这里 https://en.wikipedia.org/wiki/Assertion_%28software_development%29#Comparison_with_error_handling

    3K00

    我的NodeJS学习之路10(线上部署)

    如果没有服务器,推荐买一台云服务器,可以部署自己的项目或者干点别的。 我推荐买国外的DigitalOcean(nodejs社区主推)。这里介绍一下如何购买及使用DigitalOcean。...镜像创建完成,就开始搭建nodejs环境、git环境和mongodb环境。至于linux下怎么搭建环境,网上教程一堆,这里就不再悖述了,有问题的童鞋可以给我留言,我会一一解决!...环境部署好并将自己的代码从github下拉下来后,在ssh客户端链接工具中输入: npm start 但是你会发现,当我们关闭ssh连接工具后,程序就自动退出了!...简单的方法可以参考Linux下使Shell 命令脱离终端在后台运行 这里我介绍另外一个工具forever 教程请参考使用forever在ssh中管理node应用。...现在貌似pm2更流行一些,回头研究一下,分享给大家!

    1.9K20

    nodejs中错误捕获的一些最佳实践

    很多人其实不是很重视错误处理,但对于构建一个健壮的nodejs应用,错误处理是非常重要的一件事情,希望本文可以给你一些启发。 先抛出几个问题: 应该用哪种方式暴露错误?...例如nodejs应用因为一个变量undefined导致crash,这是编码错误,客户端则会接收到ECONNRESET错误,这属于操作错误,对于客户端来说应该可以预期到服务器的这个错误。...对于预料之外你不知道如何处理的错误,比较好的方式是记录error并crash,传递合适的错误信息给客户端。 如何处理 代码错误 最好的方式是立即crash。...一般来说,在nodejs中,同步函数导致的操作错误是比较少见的,使用try...catch会很少,常见的是用户输入验证如JSON、解析等。 一个函数的参数、类型、预期错误、如何捕获都应该是明确的。...nodejs之前就已经有操作错误、编码错误的概念,参考这里 https://en.wikipedia.org/wiki/Assertion_(software_development)#Comparison_with_error_handling

    1.8K60

    为了治好拖延症,我祭出了这个自虐的项目,把我搞的卧槽卧槽的

    大家好,我是 Rocky0429,一个在划水界鼎鼎有名的蒟蒻... 最近雨下的有点多,导致我划水量有点大,被水淹的有点不知所措,患上了传说中的拖延症性关节炎... ?...这直接导致最近我经常能在后台看到诸如“辣鸡,取关了”、“狗营销号”等溢美之言,不绝于耳... 搞的我有点羞涩,毕竟我这人最受不了别人夸我... ? 所 以 我 决 定 要 做 回 普 通 人! ?...我这人没别的爱好,就是喜欢自虐... 为了改头换面重新做人,在某个夜深风高的夜晚,我扛着我的小锄头,挖出了我压箱底的宝贝,轻轻掸去了一层浮灰... ?...想象一下,本就拖拖拉拉的自己,好不容易忍着写了几百字,突然想玩会手机犒劳一下自己,手机刚拿出来,写的东西没了,你是什么感觉?我想了一下,如果我有钱的话,我直接就把手机砸了... ?...顺便立个 flag,我以后要是再拖延我就抽死我自己,这篇文章写了十几次才写完,换谁也扛不住啊,手指头都要断了... 看在我手指头的份上,怎么也得给个在看安慰一下不是...

    69510

    他一开口,我就嗅出了骗子的味道!

    月月 我被网络兼职骗了,怎么办啊,我一个月的生活费? 接下来小助手就带大家见识一下那些专门瞄准学生党的诈骗案例。...小雨准备好接单了,这时任务员才说要交198元的会员激活费才能做任务,小雨很是犹豫,但对方承诺做满7天后退还,又晒出了兼职人员的工资结算单。 小雨很动心,就交了钱。...事实上,腾讯客服根本不会使用QQ个人帐号与用户私下沟通,小伙伴们可别被假李逵给骗了。 骗子连营业执照、身份证都可以伪造,更何况一张伪造的工卡照片?...为了避免更多人被骗,如遇到诈骗分子,请收集好相关证据,在客户端进行举报,举报成立后腾讯平台会对违规帐号进行相应的处罚,防止违规帐号再给其他用户带来不良影响。...青少年网恋又出新招,磕泡泡了解一下 谁动了我的个人信息?

    1.2K10
    领券