3 TracelessXin

尚未进行身份认证

http://www.traceless.xin

等级
博文 95
排名 4w+

Dawn构建的项目中使用React.lazy报错

使用【Dawn】构建工具开发项目过程中,使用到了React.lazy来进行代码分隔处理。遇到如下报错信息:Elementtypeisinvalid.Receivedapromisethatresolvesto:undefined.Lazyelementtypemustresolvetoaclassorfunction.大概意思是:元素类型无效。接收...

2019-06-04 18:15:22

ES6 Class 与 ES5 构造函数对比

ClassUser类被编译以后转化为构造函数。被编译后生成了_classCallCheck,_instanceof方法。classUser{}constuser=newUser();console.log(user);//{}//↑↑↑↑↑↑↑↑↑↑↑↑↑ES6↑↑↑↑↑↑↑↑↑↑↑↑↑↑//↓↓↓↓↓↓↓↓↓↓↓↓↓ES5↓↓↓↓↓↓↓↓↓↓↓↓↓↓"us...

2019-05-30 15:51:50

JS大坑之17位以后的Number类型数值精度丢失问题

接口返回数据中携带有id字段,如果数值过大,在经过JSON.parse()解析后发现精度丢失。代码如下:vartext='{"id":18014398509481985}';varobj=JSON.parse(text);console.log(obj);//结果:{id:18014398509481984}解决办法:后端将ID处理成字符串的形式前端通过正则,处...

2019-05-29 14:17:05

响应式编程(学习小结)

定义维基百科:响应式编程或反应式编程(英语:Reactiveprogramming)是一种面向数据流和变化传播的编程范式。对于响应式编程,不同语言都有相应的扩展库。例如RxJava、RxAndroid、RxJS等等。官网:AnAPIforasynchronousprogrammingwithobservablestreams用于使用可观察流进行异步编程的API...

2019-05-27 10:01:06

关于版本号讨论

通常情况下,都会采用语义版本号管理方式。如下:语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。如果只是修复bug,需要更新Z位。如果是新增了功能,但是向下兼容,需要更新Y位。如果有大变动,向下不兼容,需要更新X位。在目前的开发中,存在着多套环境。对于前端,存在日常和线上两个环境。后端,则存在日常、预发和线上环境。...

2019-01-28 10:59:07

抽奖程序(React)

介绍基于AntDesign组件库、Dva开发框架实现的一款抽奖App。动画使用了react-particles-js安装说明cnpmi或者npmi(建议前者)npmrunstartnpmrunbuild使用说明点击主页面最左侧,弹出抽屉层,导入数据,或者修改路径为:http://localhost:8000/#/data返回主页面,点击Enter开始执行...

2019-01-20 12:16:47

迟到的2018年终总结

2017年年底,Android需求骤然停止。那段时间,我学习ReactNative,学习Python,购买了Android进阶的书籍,充实自己。我感觉我在Android领域到达了一个瓶颈,突破不了自己。【只是自我感觉】iOS小伙伴已然离职,我还是迷茫手足无措。技术更新迭代之快,无法想象。2017年年底,抱着学习的心态从Android转做前端React。我学习JS,学习相关技术栈,看不同的...

2019-01-03 15:44:50

解决Ant Design的样式和CSSModules冲突问题

项目中样式采用CSSModules的写法,构建之后会被重命名。如果项目中引入了AntDesign的样式,则会导致样式加载不到问题。解决方式有两种:打包后在html中重新引入antd.css文件。但是无法做到按需加载,且打包的css文件中存在多余的内容。项目使用Dawn构建,配置webpack.config.js。代码如下module.exports=function(webp...

2019-01-03 14:46:18

Tapable.plugin is deprecated. Use new API on `.hooks` instead

安装extract-text-webpack-plugin后,使用webpack构建的时候出现如下错误:Tapable.pluginisdeprecated.UsenewAPIon`.hooks`instead查阅ExtractTextPlugin文档,其中已然说明:Sincewebpackv4theextract-text-webpack-plugins...

2018-12-02 20:56:53

roadhog代理无效问题解决

使用Dva初始化项目后,在roadhogrc.mock.js文件中默认配置代理如下:exportdefault{"proxy":{"/api":{"target":"http://jsonplaceholder.typicode.com/",&am

2018-12-02 13:34:14

排序算法学习

重拾算法:算法效率分析(一)(空间复杂度和时间复杂度)详解算法的各种复杂度的差别有多大(带图)算法复杂度选择排序简言之:从无序的列表中选择最小(最大)元素依次放到有序列表末尾。每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。选择排序是不稳定的排序方法(比如序列[5,5,3]第一次就将第一个[5]与[3]交换,导...

2018-11-23 14:50:34

技术知识整理

MVC,MVP,MVVM不同的开发模式适用不同的场景,在复杂的业务场景下,Activity作为Controller层,显得非常臃肿,代码量大,逻辑复杂。同时View与Model也存在直接的交互关系。随之MVP诞生,Presenter层彻底将View与Model层隔离开来。当然需要编写大量接口来实现解耦。代码逻辑清晰,但代码量也增加不少。MVVM可以算是MVP的升级版,其中的VM是View...

2018-10-30 21:29:16

Context与Store结合

借助于context的跨级通信能力,可以将store管理数据的模式应用于每个组件当中。即将store通过context传递到子组件,一方面子组件可以通过store.dispatch()触发store中数据更新,另一方面子组件可以通过store.getState()方法获取最终的更新状态,刷新UI。Redux解读React之Context1.目录结构制作一个更换主题色的App参考【结合...

2018-10-28 17:53:21

React之Context

组件间通信大致有以下三种情况:父组件向子组件通信子组件向父组件通信跨级组件通信父组件向子组件通信这是最常见的一种通信方式,即父组件通过props向子组件传递需要的信息。子组件向父组件通信利用回调函数可以实现通信,即父组件将一个函数作为props传递给子组件,子组件调用该回调函数,便可以向父组件通信。跨级组件通信所谓跨级组件通信,就是父组件向子组件的子组件通信,向更深层的子...

2018-10-28 17:02:26

Refs

Refs提供了一种访问DOM节点或在render方法中创建的React元素的方法。refs是React组件中非常特殊的props,可以附加在任何一个组件上。组件被调用时会新建一个该组件的实例,而refs就会指向这个实例。在react\lib\ReactBaseClasses.js文件中,可以看出每个组件都存在refs属性。/***Baseclasshelpersforthe...

2018-10-21 21:21:13

exports 和 module.exports

在每个模块中,module变量表示当前模块的对象的引用。module实际上不是全局的,而是每个模块本地的。创建foo.js文件console.log(module);console.log('---------华丽的分割线----------')console.log(exports);console.log('---------华丽的分割线----------')console....

2018-09-30 11:36:06

《JavaScript高级程序设计》读书笔记(一)

JavaScript组成:核心(ECMAScript)文档对象模型(DOM)浏览器对象模型(BOM)ECMAScript,由ECMA-262标准定义,提供核心语言功能。JavaScript实现了ECMAScript,AdobeActionScript同样也实现了ECMAScript。DOM,提供访问和操作网页内容的接口和方法。注意:DOM并不只是针对JavaScript的,...

2018-09-30 11:35:10

JavaScript构造函数、对象、原型

对象不仅仅是字符串到值的映射,除了可以保持自有的属性,JavaScript对象还可以从一个称为原型的对象继承属性。对象的方法通常是继承的属性。这种“原型式继承”(prototypalinheritance)是JavaScript的核心特征.创建对象三种方式1.对象直接量varempty={}varpoint={x:0,y:0}2.关键字newvar...

2018-06-28 14:18:54

《Java多线程编程核心技术》(二)

非线程安全会在多个线程对同一个对象中的实例变量进行并发访问时发生。产生的后果是脏读,也就是取到的数据其实是被更改过的。线程安全就是获得的实例变量的值是经过同步处理的,不会出现脏读的现象。非线程安全问题存在于实例变量中,如果是方法内部的私有变量,则不存在非现场安全问题,所得的结果也就是线程安全的了。synchronized同步方法关键字synchronized取得的都是对象锁,而不是...

2018-06-08 17:17:57

《Java多线程编程核心技术》(一)

publicclassCounterextendsThread{//构造方法在主线程中被执行publicCounter(){print("constructorbegin");print("Thread.currentThread().getName()------"+Thread.currentThread().getN...

2018-06-07 16:39:21
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。