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

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

背景 年底了,换了项目组,新的项目组使用react,从vue到react,我只花了一天的时间,看了官方简单的文章之后,就觉得这玩意很简单啊,比起vue的那么api来说,这根本没有学习成本好吧,十分迅速的就进入了...react的项目开发,并且洋洋得意,根据我多年的经验来看,这波肯定会得到领导的赏识 很快,我就做完了我的需求,把代码提交上去,组长可能确实比较闲,还review了我的代码,并且指出了一系列的问题,并告诉我说学习...react最难的部分,并不是知道怎么使用它,而是要知道怎么能够编写良好,干净的react代码 主要给我提了六点错误,我相信在座的各位,可能需要对号入座 在不需要使用state的时候使用state 涉及到项目中的代码逻辑...,提交的时候从state上再把数据取到,这一点确实很像vue的双向绑定,通过state的方式实现了,看着表面没有问题,并且页面也呈现了,submit的数据也取到了 但是实际上,我们并没有在别的地方使用这个...,然后这个effect依赖这一个state就可以了,进行state合并 总结 上述就是一些基础react使用者常出现的一些问题,hook确实能给我们带来很大的便利,但是有时候从vue到react,其中的一些思想还是需要做一些调整

89330

从我一年编程生涯中得到的经验教训

从我一年编程生涯中得到的经验教训 一年前,我还是一个新鲜出炉刚毕业的学生,刚开始我在Rocketrip的工作。经过一年的时间,我学到了很多东西。...我常常在想,要是我能早点知道这些针对应届毕业生的技巧,那么我从学生到员工的转变道路将会顺畅得多。 ? ps:顺序先后没有特定含义 1.对工作的激情能大大提升你的工作质量。...3.95%的电子邮件没必要立即回应。这个比例可能有待商榷,但我想说明的是需要立即响应的电子邮件数量是非常少的。匆匆忙忙回复每一个进来的电子邮件,其成本会很高。你可以设置你的手机至半小时后提醒。...我赞同要将大部分的生产时间用于工作,但我也认为应该做一些自己的业余项目。博客、项目、等等,都可以。 10.不断学习。自学一些你认为需要和感兴趣的东西。 11.为待做事件列一个清单。...除非你的头脑异常清晰,否则你很容易忘记你负责的任务。

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

    业界前哨——腾讯 IMWeb 企鹅辅导平台如何通过Webpack5大幅度提升构建效率?

    对比 webpack4 下面是企鹅辅导h5项目分别在 webpack4 和 webpack5 版本下的构建实测数据,测试环境为我的 MacBook Pro 15 寸高配。..., 加载器和所有从你的配置中引用的模块都会被自动添加*/ }, // 指定缓存的版本 version: '1.0' } } 如下图所示...在开发模式下,建议使用: optimization.moduleIds = 'named' optimization.chunkIds = 'named' 此选项生产对调试更友好的可读的 id。...5、Module Federation Module Federation 使得使 JavaScript 应用得以从另一个 JavaScript 应用中动态地加载代码 —— 同时共享依赖。...2、开发环境下默认使用可读的名称为 module 命名,不需要使用如下语法: import(/* webpackChunkName: "name" */ "module") 3、原生 worker 支持

    1.1K30

    构建效率大幅提升,webpack5 在企鹅辅导的升级实践

    对比 webpack4 下面是企鹅辅导h5项目分别在 webpack4 和 webpack5 版本下的构建实测数据,测试环境为我的 MacBook Pro 15 寸高配。...,            加载器和所有从你的配置中引用的模块都会被自动添加*/       },       // 指定缓存的版本       version: '1.0'      } } 如下图所示...在开发模式下,建议使用: optimization.moduleIds = 'named' optimization.chunkIds = 'named' 此选项生产对调试更友好的可读的 id。...5、Module Federation Module Federation 使得使 JavaScript 应用得以从另一个 JavaScript 应用中动态地加载代码 —— 同时共享依赖。...2、开发环境下默认使用可读的名称为 module 命名,不需要使用如下语法: import(/* webpackChunkName: "name" */ "module") 3、原生 worker 支持

    1.3K20

    如何解决React官方脚手架不支持Less的问题

    说在前面 create-react-app 是由 React 官方提供并推荐使用构建新的 React 单页面应用程序的最佳方式,不过目前版本(1.5.x)其构建的项目中默认是不支持动态样式语言 Less...如果您之前未曾使用过 create-react-app,请先通过如下命令全局安装(假定您本机已经安装了 Node.js): npm install -g create-react-app 然后,通过如下命令构建一个新的项目...以上只是在项目中安装了 less 和 less-loader ,但还未曾通过 webpack 使用 less-loader。 至于怎么使用?几种使用方式?...同时,被其集成的脚本和配置也会从程序目录中消失 ,程序目录也会变得干净许多。 如果我们要自定义环境配置怎么办?...说了这么多,现在怎样才能在我们的项目中暴露 webpack 的配置文件?没错,你没猜错,只需要运行一下yarn eject即可。

    2K30

    Vue.js前后端同构方案之准备篇—代码优化

    一、前言 目前Vue.js的火爆不亚于当初的React,本人对写代码还是有一定洁癖的,代码也是艺术。...很长时间在找寻最适合自己的前端开发框架,包括在React最火的时候,我依然在坚持寻找,但React在我心目中并不完美。...但这里我们要注意一定要用ES6的import/export来实现。代码如下: ? ? 改造好代码后,通过执行webpack命令,我们可以得到如下结果: ? ?...通常我们的解决方案就是简单地就用回调处理,复杂的逻辑,可能有用类似Step.js,Async.js这种类库来解决。代码从可读性上还是可以的,比如: ?...这个示例中综合了同步和异步代码,从代码的表现形式上还是可以理解为同步的流程。

    1.2K80

    Vue.js前后端同构方案之准备篇:代码优化

    此准备篇是独立的,即使你们的项目不使用Vue.js,也不影响文章的阅读,是代码的基础优化。 一、前言 目前Vue.js的火爆不亚于当初的React,本人对写代码还是有一定洁癖的,代码也是艺术。...很长时间在找寻最适合自己的前端开发框架,包括在React最火的时候,我依然在坚持寻找,但React在我心目中并不完美。.../invoke.js'; console.log(uu.ddd); 改造好代码后,通过执行webpack命令,我们可以得到如下结果: 注意一下红框部分的内容,在非压缩模式下,实际上并不是完全意义上的...tree-shaking,还是有把没有使用的方法打入文件中,但是会提示「unused harmony export」这样的提示。...代码从可读性上还是可以的,比如: 这个示例中综合了同步和异步代码,从代码的表现形式上还是可以理解为同步的流程。

    6.6K20

    使用 webpack 4 和 Babel 7 构建 React 应用及如何引入 Material Design

    在过去的一年和一些人中,我一直在与 Creative Tim 合作。 我一直在使用 create-react-app 来开发一些不错的产品。...webpack webpack-dev-server 从 src 文件夹中读取所有内容并输出到我们的浏览器中。...我们需要告诉我们的脚本在 Webpack 的配置文件中,使用 import 而不是 require 语句。 否则它会给我们一个错误,它不知道import 表示什么。...现在,我们不能简单地将 src 文件夹从 Material Dashboard React 复制到我们的新项目中。 这会给我们带来很多错误, 如缺少依赖关系的错误,找不到模块等。...当我们刷新页面时,有一个错误 Cannot GET/dashboard。 如果我们跳转到另一个页面,会得到如, Cannot GET /user错误等 。

    9.4K60

    2016 JavaScript 技术栈展望

    TypeScript 和 Flow 都为 JavaScript 提供了静态类型系统,使用静态类型检查,可以有效捕获错误,减少测试量。目前来说,我建议对此持观望态度。...当然这份规范中尚有不足之处,但保持团队整体代码的一致性,可以有效提高代码的可读性。 当你熟悉了 ESLint 之后,建议开发者深入地尝试其中的规则。ESLint 捕获的错误越多,产品的稳定性越高。...如果你需要执行其他类型的构建任务,那么 Gulp 和 Grunt 还是有用的。对于类似运行 Webpack 的基本任务,我建议直接使用 NPM 脚本。...Lodash JavaScript 并没有一个类似 Java 或 .NET 的核心工具库,所以开发者大都会从外部引用一个外部工具库。 目前来说,Lodash 是此类工具中的佼佼者。...除非你正在维护一个陈旧的项目或者用到的第三方库依赖了 jQuery,否则已经没有必要使用它了。 我喜欢让项目保持简洁,在代码中只使用 fetch 。

    2.1K40

    Web 性能优化:缓存 React 事件来提高性能

    这是 Web 性能优化的第三篇,上一篇在下面看点击查看: Web 性能优化: 使用 Webpack 分离数据的正确方法 Web 性能优化: 图片优化让网站大小减少 62% JavaScript中一个不被重视的概念是对象和函数是如何引用的...如果要将组件的 prop 从 {x:1} 更改为另一个对象 {x:1},则 React 将重新渲染,因为这两个对象不会引用内存中的相同位置。...怎样才能解决这个难题呢输入记忆,或者简单地称为缓存。 对于每个唯一值,创建并缓存一个函数; 对于将来对该唯一值的所有引用,返回先前缓存的函数。 这就是我将如何实现上面的示例。...这里使用 index 作为唯一标识会有个警告:如果列表更改顺序或删除项目,可能会得到错误的结果。...但点击 index 为 0 的按钮 pizza 的时候,它将会弹出 soda。这也是 React 建议不要使用数组的索引作为 key 的原因。 你的点赞是我持续分享好东西的动力,欢迎点赞!

    2.1K20

    大势 | 2018最值得关注的JavaScript趋势

    Angular剩下的拥护者已经表态说Angular会成为企业选择的JS框架,但这一断言尚有待证实,而且在2018年未必能得到证实。 Reason Facebook生产使用的一切永远都值得关注。...然后,到了今年年头的时候,我写了篇文章,说Webpack在3个月内就拿到了15000美元来支撑这个项目是如何的不可思议。而他们现在已经拿到了几十万美元的融资了。...尽管简化配置和改善速度都是很好的改进,如果2018年上半年Webpack没有抄这些改进的话我不会感到奇怪。...这两个框架在2017年均站稳了脚跟,也都是从JavaScript到原生应用很好的解决方案。...7.在一个项目上安装Prettier,让你的代码可读性更强。 8.在一个React项目上学习使用Jest截屏及Enzyme。

    80420

    给react加try-catch

    最近在一个使用fis构建的react.js项目里遇到个问题,render函数里如果发生了运行时错误,比如说某个对象没有判断就直接去访问其属性,那我所知道的就是,页面不正常了,特别是有嵌套子组件的时候,我可得一个个一层层去排查判断...通常来说,使用react的时候都配合以webpack构建,再加个webpack-dev-client,不仅有js live reload还能hot module reload,不离开编辑器的情况下就能一直调试下去...而且,它本身已经内置在webpack-dev-client中,所以webpack构建的开发方式才会如此方便看到错误。...插件使用的,其中redbox-react 是一个自定义的错误处理组件,之前在webpack构建方式下的开发经常看到的红色框框原来就是它了!...在实际使用中,可以按需替换,比如说实现badjs上报等。最后试了一下,在fis的构建方式下,也成功看到了红色框框,以后开发过程出现运行错误就页面不会安安静静地失败了。

    3.1K50

    给react加try-catch

    最近在一个使用fis构建的react.js项目里遇到个问题,render函数里如果发生了运行时错误,比如说某个对象没有判断就直接去访问其属性,那我所知道的就是,页面不正常了,特别是有嵌套子组件的时候,...通常来说,使用react的时候都配合以webpack构建,再加个webpack-dev-client,不仅有js live reload还能hot module reload,不离开编辑器的情况下就能一直调试下去...而且,它本身已经内置在webpack-dev-client中,所以webpack构建的开发方式才会如此方便看到错误。...插件使用的,其中redbox-react 是一个自定义的错误处理组件,之前在webpack构建方式下的开发经常看到的红色框框原来就是它了!...在实际使用中,可以按需替换,比如说实现badjs上报等。最后试了一下,在fis的构建方式下,也成功看到了红色框框,以后开发过程出现运行错误就页面不会安安静静地失败了。

    1.2K20

    从零搭建基于react与ts的组件库(一)项目搭建与封装antd组件

    迫于技术洁癖,我希望更多的开发小伙伴能够真正的理解一个项目搭建各个方面的细节,做到面对对于工程出现的错误能够做到有把握。 最近使用阿里低开引擎的时候,想要封装一套组件库作为物料给低开引擎引入。...如果源码是这种写法,经过 babel 之后就会提示语法错误。 但最近的 JS 提案中已经允许了这种新的写法(让代码 diff 更加清晰)。...简单来讲,我希望react、react-dom等组件库的包,不会被打入到组件库中,而是在html中引入(Add React to a Website – React (reactjs.org)):...但是配置到webpack需要注意: webpack中的顺序是**【从后向前】**链式调用的,所以注意下面配置的代码中use数组的顺序: diff --git a/webpack.config.js b/...中的顺序是【从后向前】链式调用的 + // 所以对于less先交给less-loader处理,转为css + // 再交给css-loader +

    1K31

    阅读React源码初尝试

    1 目的 The source of the interesting PS: 这句话必须要写,读了一些源码我发现,他们也只是普通的代码,不过他们考虑到性能/扩展/维护/可读/间接/优秀的逻辑和设计模式...1.问题驱动, 比如 React setState如何起作用的,更新过程是怎样的,React fiber 到底神奇在哪里?...如何提升性能的? 2.最新的源码,不仅是思维升级,还是可读性升级,学习成本 3.结构,项目有哪些组成部分,为了达到最终的产出,要经过哪几步流程。...要了解 Webpack 的原理,就要知道 Webpack 基于 一个叫 [tapable](https://link.zhihu.com/?...大部分的渲染和 View 层 diff 的逻辑都在 Reconciler 和 Renderer 中 请点击https://juejin.cn/post/7142397447095091213#heading

    48120
    领券