两周一报01(20180826)
一、本周项目:居家大赏主会场
问题与解决
- 安装过程中,经常出现类似
permission denied, scandir '路径名称'
的错误信息?
通过sudo chown -R username "路径名"
将指定文件的拥有者改为指定的用户或组,从而获得权限。 - dispatch的函数参数名称与定义的参数列表必须名称一致,否则会接受不到数据
setState(...): Cannot update during an existing state transition (such as within render or another component's constructor) ...
在reducer中不能有改变状态的举动。browser-sync在命令行运行,只能从index.html文件开始,如果配置到gulp中(webpack类似),可以通过如下配置实现从不同文件开始运行服务器:
1
2
3
4
5
6
7// gulp
browserSync.init({
server:{
baseDir:'./app',
index:'name.html'
}
});加入时间戳防止缓存
1
document.write("<script type='text/javascript' src='//site.com?t=" + Date.now() + "'><\/script>");
查看埋点数据包(包括点击跳转)
Network面板选择Perserve log
,搜索m?
- 沉浸式标题设置:
@jmfe/jm-webview:enableTransparent
- 直接打出人民币单位无法确保所有字体下都是双横线,可以使用
¥
React模板总结
- React: 用于构建界面的javascript库
- Redux:用于协助React状态管理的工具
- Redux-Saga:用于管理redux应用异步操作的中间件
对应到React会场模板中,需要修改的文件及对应功能如下:- components:一个文件夹为一个组件,主要涉及UI的展示和事件绑定
- reducers: 状态声明,通常返回的是一系列数据
- sagas:负责异步交互事件的响应函数(包括埋点,领券等等)的具体实现,其中index.js负责主线程的数据加载等事务
- services/fetch-data.js: 拉取数据
- constants/index.js: 一些固定参数,如pageId, UUID等等
二、有趣的实现
- 纯代码实现的动态图案
<css-doodle />
: 一个比较新的项目,内设一些常用的图案/函数/属性。目前兼容性很差,只在最新版的chrome和safari下支持,尚未考虑fallback。 - 两个火焰效果