HM-Blog


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 搜索

聊一聊React中更新UI视图的几种方式

发表于 2018-10-08
字数统计 1,238字 | 阅读时长 5分钟

前言

刚为祖国母亲庆完生,眼看假余额就要不足了,小伙伴们玩的是否开心呢,反正我是死宅在家,没出去玩,在家也没好好学习,实属惭愧。这不,今天和大家分享下关于 react 驱动 ui 更新的几种方式,都说 react 是单向数据流,数据驱动 ui,那么你知道在 react 中有几种驱动视图更新的方式呢。

阅读全文 »

你真的理解setState吗?

发表于 2018-07-25
字数统计 2,327字 | 阅读时长 10分钟

面试官:“react中setState是同步的还是异步?”
我:“异步的,setState不能立马拿到结果。”

面试官:“那什么场景下是异步的,可不可能是同步,什么场景下又是同步的?”
我:“……”

setState真的是异步的吗?

这两天自己简单的看了下 setState 的部分实现代码,在这边给到大家一个自己个人的见解,可能文字或图片较多,没耐心的同学可以直接跳过看总结(源码版本是16.4.1)。

阅读全文 »

Vue.extend、new Vue、Vue.component、export default四种创建组件的区别

发表于 2017-11-28
字数统计 286字 | 阅读时长 1分钟

刚入职新公司,算是暂时从React转到Vue,所以对Vue的理解和使用也算是新手,每次碰到各种问题,就只能带着问题去解决。 问题的由来是因为看到项目中创建组件的方式是直接export default直接导出一个对象,而之前自己写demo的时候都是Vue.extend或者是new Vue, 也不知道为什么这么用,查了下还有Vue.component加上上述的三个,总共四种方式创建组件, 索性就去看下四种有什么区别。

阅读全文 »

react-intl实现多语言国际化

发表于 2017-10-10
字数统计 987字 | 阅读时长 4分钟

场景:

多语言支持对于一些国际化的大公司,或者是一些开源社区的文档(比如vue),是一个挺普遍的需求,总感觉自己什么时候也会做到这种需求,最近公司的项目就需要做中英文双语言。

实现:

一般做法有两种,要么做多套,要么就一套里面切换,我司是后者。由于公司项目是基于react技术栈,所以实现方面就借助react-intl这个库,是雅虎的一个开源项目,本文就说下如何在react项目中使用react-intl实现多语言支持。

阅读全文 »

阿里前端笔记

发表于 2017-09-30
字数统计 526字 | 阅读时长 2分钟

人生第一次BAT级别面试经验,还是笔试,总共三道题目,特此记录!

阅读全文 »

react-navigation VS react-router

发表于 2017-09-04
字数统计 199字 | 阅读时长 1分钟
为什么会有这篇文章,原因是本人做过rn开发和react开发,发现这两者的路由机制有点不同,写了两个demo做下对比。这篇就不文字描述了,直接上repo地址:
  1. react-router
  2. react-navigation
总结两者的区别就是:
  1. rn当中push不会销毁组件,react则是push和goBack都会销毁组件。
  2. rn当中pop回某个页面时,只有props发生改变,组件才会rerender,react则是不管props发不发生改变都会rerender。
  3. rn当中A页面push到B,B页面pop回A,props发生改变时,componentWillReceiveProps是在A页面中被调用,而react-router同样的场景下,A页面却不会调用componentWillReceiveProps,A页面相当于是拿到了最新的数据初始render,这一点和rn很不一样。

求连续最大和子序列

发表于 2017-08-27
字数统计 835字 | 阅读时长 3分钟

Q:在一个数组中,元素可能有正整数,0,负整数,求其一个连续的子序列,使得该子序列的元素相加之和是所有连续子序列和最大的。
例如:数组[1,2,-5,3,0,-1,2,-4,3],其最大和的子序列为[3,0,-1,2],其最大和为4,实现其代码。

阅读全文 »

Array.from和for循环生成数组的性能对比

发表于 2017-08-21
字数统计 557字 | 阅读时长 2分钟

首先思考一个问题,如何生成一个[0,1,2…97,98,99]的数组?
一般第一时间想到的肯定是for循环跑一下,完事了。但是有没有什么奇淫技巧实现呢,答案是有的。Array.from({ length: 100 }, (v, i) => i),那么一起看下这个Array.from是什么。

阅读全文 »

Node中的exports和module.exports的区别

发表于 2017-08-14
字数统计 631字 | 阅读时长 2分钟

在Node中,采用CommonJS模块规范。 什么是CommonJS规范?

CommonJS 规范是为了解决 JavaScript 的作用域问题而定义的模块形式,可以使每个模块它自身的命名空间中执行。该规范的主要内容是,模块必须通过 module.exports 导出对外的变量或接口,通过 require() 来导入其他模块的输出到当前模块作用域中。

阅读全文 »

理解redux中的applyMiddleware与中间件

发表于 2017-06-12 | 分类于 redux
字数统计 608字 | 阅读时长 2分钟

前言

不得不佩服redux的作者Dan Abramov,看完applyMiddleware的源码,我的感受就是:还有这种操作?
与其说是理解applyMiddleware,不如说是理清createStore,applyMiddleware和一些中间件的关系,和为什么中间件都是export const createThunkMiddleware = ({ dispatch, getState }) => next => action => {...}三层嵌套关系。

阅读全文 »
12
HM

HM

叩首问路 码梦为生

17 日志
5 分类
10 标签
GitHub 知乎
友情链接
  • 懒蛋蛋的Blog
  • 二蛤的Blog
© 2018 HM
由 Hexo 强力驱动
主题 - NexT.Pisces