忽略eslint检测, img有莫名空白

通过添加在文件头部添加 /* eslint-disable */ 来忽略eslint

qq浏览器 0.01rem宽度的border没有效果, 需要使用1px

0.5px line的通常做法是使用scale和after,before伪类

阅读全文

利用react高阶组件与context实现简单的状态管理

首先我们得知道react的context的用法:通过在context提供者中添加childContextTypes和getChildContext来添加context,然后在子组件中通过contextTypes来获取参数,通过它我们可以将数据跨组件传送。
以及高阶组件的作用:高阶组件实质上就是一个函数,这个函数接受一个组件作为参数,并返回一个新的组件。

阅读全文

对redux设计的理解

以前对于redux只是照着文档用,闲下来想了想为什么redux要这样设计呢?如果自己想实现一个状态管理的方案该会是怎样的呢?

首先,当遇到很多状态需要集中管理的时候,我们很容易能想到通过顶层store来对状态进行集中管理,如果子组件需要此状态,可以通过hoc将store内的数据通过props传进来,与此同时传入一个可以改变顶层store内的数据的方法。这样便实现了一个最简单的状态管理方案。

阅读全文

关于JS的数据绑定

  1. 发布者-订阅者模式,如backbone.js
  2. 脏值检查,如angular,对常用的dom及xhr事件做了封装,在其中会从rootscope开始进行遍历,检查所有的watcher,并不是定时轮询检查
  3. Object.defineProperty,此属性可以设置对象的get和set,在对对象进行读写的时候就会触发相应的函数。示例代码如下:

阅读全文

移动端页面宽高设置

原来设置移动端页面蠢蠢的从html标签body标签一路往下设置宽高为100%,都忘了

1
2
3
4
5
.root>div{
position:absolute;
width:100%;
height:100%
}

阅读全文

flex使用复习

在日常学习和工作中使用flex也有一段时间了,刚好现在有空闲时间,来对flex再复习一遍吧

flex相对与传统的css布局可以用更少的代码达到相同的目的,尤其在常用的布局上,使用flex可以很轻松的达到目的。

首先通过display:flexdisplay:inline-flex来为一个容器指定为flex布局。当指定为flex布局后,容器内的子元素的float,clear,vertical-align将会失效。容器默认的轴为从左上角开始,向右为水平的主轴,向下为垂直的交叉轴。

阅读全文

关于移动端的布局问题

关于移动端常见的上下bar中间content scroll的布局,我原来的写法是content height:100%,然后再把上下bar fix在screen的上下,然而这样的布局是有很大的问题的。首先是滚动条的问题, 当以上面的方法来进行布局的时候,滚动区域位于上下bar之间, 滚动条却可以滚动到屏幕的最上方,这明显不符合直观的UI逻辑;二是很多时候下方的bar都是一个输入框,而在ios中fixed的定位可能会出现bug:当键盘出现时,此bar很可能会被弹到screen的中间。所以自己想了想该如何布局比较好,总结如下:
HTML:

1
2
3
4
5
6
7
<div class="container">
<div class="header"></div>
<div class="scrollContainer">
<div class="content"></div>
</div>
<div class="footer"></div>
</div>

阅读全文

fetch发送请求携带cookie

fetch默认不发送cookie , 发送cookie需要配置credential为include , 还不行? 服务器端配置Access-Control-Allow-Credentials为true , 还不行的话看看remote adress是不是你请求的那个地址 , 还有就是cookie是不是保存在请求的地址的下面

阅读全文

build文件的相对路径

通过在package.json内添加homepage可以修改打包后的路径

阅读全文

关于es6的async

async返回的是一个promise , 所以在内部return后需要then来拿async返回的值 , 同时 , 在内部使用Promise.resolve(value) , 外部通过then也不能获取值

阅读全文