近日使用Taro框架的一点小心得
1.yarn npm安装的包,跟权限问题有关,与网络也有关
2.Vue框架首先,是解决了view-model的问题,解放开发的双手,使得显示和数据和控制分开
3.当你觉得最近没有技术文章看时,就看收藏的
4.必须熟悉es6的对象、数组拓展,熟悉观察者模式,熟悉lodash
5.浏览器的图片上传限制,同文件无法触发2次上传,改type为其他,再改回为text即可
6.做静态页面时,绝对不要做交互
7.用after和before在一张图上定位,但是无法突破图的边缘限制,解决方法是,外层套View设置为position:relative,即可把突破定位到img边角上
8.看到设计图不要多想,太考虑细节,若注重数据,就不必在页面上下太多功夫,大部分用组件代替
9.MapReduce: Simplified Data Processing on Large Clusters
10.前端处理数据要不要用后端id,可以斟酌的,可以用用前端的数据索引,如:map的index,可以用后端id,配合find() filter()等
11.计算不一定是后端做,可能也需要终端去分担
12.做一个标题样式(前面带有色块)
<View className='matchDetails-square'>
<View className='matchDetails-squareAfter'></View><View className='matchDetails-title'>主办单位</View>
</View>
.matchDetails-square{
position: relative;
padding: 0 50px
} .matchDetails-squareAfter{
position: absolute;
width: 25px;
height: 25px;
background-color: #fee471;
left:;
bottom: 14px;
}
13.分割线
<View className='recheck-line-cover'>
<View className='recheck-line'></View>
</View>
.recheck-line-cover{
overflow: hidden;
margin: 20px 0
} .recheck-line{
width: 100%;
height: 2px;
background-color: #E8E8E8
}
14.超出换行并居中
换行居中: flex+ text-align: center+width:80%;
15.注意find和map的区别
find 和 filter 都是不改变原数组的方法,但是find只查出第一个符合条件的结果像例子里是直接返回了一个对象而不是数组!
,而filter返回全部结果仍然是数组。(https://blog.csdn.net/qq_39652441/article/details/79248127)
16.不是所有的框架都很灵活的,因此你可以按部就班的用,需要什么,找到相似的,拷贝过来,你只需要打通你自己的逻辑即可,知道你需要什么
17.小程序不支持PATCH
18.Taro.navigateTo 对应到小程序,是有带左上角返回键的,不能用得太多。aro小程序时,多次redirect会产生错误,导致webview叠加过多,所以改为redirect
19.小程序的radio设置color,不可以用rbg
20.async 会对if产生影响
21.编译为weapp时,margin 会泄露,padding就不会,因此用外层设置padding包裹原来要设margin的标签
22.微服务,dva
23.用&&会导致组件被销毁或并未生成,若想做隐藏,可以用三目运算符代替
24.一定要做无效数据的处理:team&&team.id或team&&team.id?team.id:null
25.使用taro.redirect() 来解决页面缓存,页面后退的问题
26.多端开发的h5还是不太适合微信网页开发,调用微信jssdk还是很麻烦
27.移动端不怕计算,就怕渲染
28.排除bug时,必要时可以改源码
picker的bug:选择后无效
29.mobx比redux更松散
30.组件化调试时,有问题不要先看问题,先看代码规范,例如组件名:大写
31.样式没出来,可能是cssloader的问题
32.只有在scss中的px才会被转换,taro-ui某些组件也支持
33.组件名、组件变量,一定要大写
34.disabled一般为 disbaled="disabled"
35.但当条件变得过于复杂,可能就是提取元素抽象成组件的好时机了。
36.在少数情况下,你需要在常规数据流外强制修改子元素:rels
37.注意,jsx列表渲染和筛选一律用高阶函数:filter map find 等,用 a&&语句 和 三木运算符代替 if else
38.
所以当调用一些 API 需要传入小程序的页面或者组件实例时,可以直接传入 this.$scope,例如 Taro.createCanvasContext(canvasId, this) 这个 API,第二个参数就是自定义组件实例 this,在 Taro 中就可以如下使用
Taro.createCanvasContext(canvasId, this.$scope)
39.
使从父级传过来的样式生效:
使从父级传过来的样式生效: 父
<CustomComp my-class="red-text" /> 子
static externalClasses = ['my-class'] render () {
return <View className="my-class">这段文本的颜色由组件外的 class 决定</View>
}
40.使外部css或scss的样式对组件内产生影响,而非组件自己的scss文件的样式
static options = {
addGlobalClass: true
}
41.
增加一个 UI 库入口文件
需要在 src 目录下添加 index.js 或者 index.ts 来作为 UI 库的入口文件,用于输出 UI 组件,如果有多个 UI 组件,可以如下书写 export { default as A } from './components/A/A'
export { default as B } from './components/B/B'
这样的话,这个组件库使用起来,会是如下的方式 import { A } from 'taro-ui-sample' <A />
如果只有 UI 组件,也可以如下书写 import A from './components/A/A' export default A
这样的话,这个组件库使用起来,会是如下的方式 import A from 'taro-ui-sample' <A />
41.移动端的交互尽量少
42.写代码不要穿插(待续。。。)
43.后端数据返回,有error:string,就要有code:number搭配,方便给出错误提示和进行错误处理,403,404跳转等等
44.项目运行后出现这个问题:
45.taro text不可以作为包裹标签,排除方法:层层往外搬
发现,原来是因为安装包后vpn没关,关了就好了
一些链接:
针对react的this.props.children的理解 https://www.cnblogs.com/mengff/p/9642637.html
https://developers.weixin.qq.com/miniprogram/dev/api/NodesRef.fields.html
https://blog.csdn.net/m0_37036014/article/details/80113635
https://segmentfault.com/q/1010000008759121/a-1020000008759994
https://blog.csdn.net/qq_37818095/article/details/82145062
https://mp.weixin.qq.com/s/XbAfD1kxTT875ssChLVf3A
https://bitbucket.org/dashboard/overview
https://www.cnblogs.com/tig666666/p/8241841.html
https://segmentfault.com/a/1190000011263214
https://blog.csdn.net/alps1992/article/details/80464700
https://segmentfault.com/a/1190000008512184
20190501更新
框架更新太快了,这篇文章有部分内容失去参考意义了
近日使用Taro框架的一点小心得的更多相关文章
- BUI Webapp用于项目中的一点小心得
接触BUI也有一段时间,也用在了移动端的项目开发中,总的来说,该框架用起来也挺灵活的,控件可以自由定制,前提是自己能认真地学习该框架的api,因为api里面说的东西比较详细,如果没有仔细看的,可能有些 ...
- ASP.NET MVC Autofac依赖注入的一点小心得(包含特性注入)
前言 IOC的重要性 大家都清楚..便利也都知道..新的ASP.NET Core也大量使用了这种手法.. 一直憋着没写ASP.NET Core的文章..还是怕误导大家.. 今天这篇也不是讲Core的 ...
- Qt使用com组件的一点小心得(使用Qt自带的工具dumpcpp生成.h和.cpp文件)
这几天工作中要用到Qt调用com组件,主要用到的类型有dll和ocx,使用他们的方法很简单:1.将com组件注册到系统中.2.使用Qt自带的工具dumpcpp将com组件生成cpp和头文件.3.然后就 ...
- jquery框架一点小心得
下面的小事例 主要实现了 一和按ID查找,并获取元素的 value 或 标签内容和一个去字符串空格的小功能能 假设元素id=“myid”: 获取标签内容$("myid").html ...
- python+tesseract验证码识别的一点小心得
由于公司需要,最近开始学习验证码的识别 我选用的是tesseract-ocr进行识别,据说以前是惠普公司开发的排名前三的,现在开源了.到目前为止已经出到3.0.2了 当然了,前期我们还是需要对验证码进 ...
- Taro框架下qq小程序开发体验
qq小程序发布了,作为第一批体验者 .还是发现了和微信小程序很多不同的地方. 最新的小程序我这里都是用Taro开发的,体验较为不错.数据管理用的是redux.JS用的ES6加async等. 微信小程序 ...
- 学习KMP算法的一点小心得
KMP算法应用于 在一篇有n个字母的文档中 查找某个想要查找的长度为m的单词:暴力枚举:从文档的前m个字母和单词对比,然后是第2到m+1个,然后是第3到m+2个:这样算法复杂度最坏就达到了O(m*n) ...
- 学习R语言的一点小心得
1.目前R 语言处于入门阶段吧,能够执行一些简单的模型了,还是有收获的. 但是在跑模型的时候经常遇到各种各样的错误,最常见的错误就是数据带入模型之后,数据的类型不对,因此模型跑不下去,因此说,利用he ...
- 使用Vue.js时,对Chrome控制台的一点小心得
之前对Chrome控制台的console.log()输出没太放心上,其实仔细研究后,对工作效率有显著的提示.看下面的五段代码: console.log(''); console.log(typeof ...
随机推荐
- 【转载】C#常用数据库Sqlserver中DATEPART() 函数
在Sqlserver数据库中,DATEPART() 函数用于返回日期/时间的单独部分,比如年.月.日.小时.分钟等等.DatePart()函数的语法为: DATEPART(datepart,date) ...
- Html5游戏开发-图形与动画(一)
最近研究了一下出来了很久的HTML5,总结了一下,准备来个系列,文中也许有很多问题,欢迎大家指正. Canvas介绍 canvas用于在网页中绘制图形的一个元素,具体内容请查看 -> HTML5 ...
- RNN-LSTM入门
RNN-LSTM入门 Last Edited: Dec 02, 2018 10:20 PM Tags: 机器学习,论文阅读 RNN-Recurrent Neural Network 概念: 序列数据: ...
- sudo: cd: command not found
事件起因 今天在aws ubutun上忽然发现的一个问题,执行sudo cd 时出现 sudo: cd: command not found 原因 shell shell是一个命令解析器 所谓shel ...
- php获取服务器信息常用方法(零碎知识记忆)
突然整理下零碎小知识.......加深下印象: $info = array( '操作系统'=>PHP_OS, '运行环境'=>$_SERVER["SERVER_SOFTWARE& ...
- 月薪25K的90后程序员,他们都经历了什么?
如果说薪资是检验一家公司对程序员认可的标准,那么年纪轻轻就能达到月薪 25K,一定程度上说明了公司对他创造的价值的认可. 深访10+ 名月薪25K的程序员,发现他们最常见的三种成长途径是…… 在公司发 ...
- (6)Jquery1.8.3快速入门_过滤选择器
一.Jquery的基本过滤选择器: 基本过滤选择器: 1. :first 选取第一个元素 2. :last 选取最后一个元素 3.:not(selector) 去除所有与给定的选择器匹配的元素 4.: ...
- Netty实战十一之预置的ChannelHandler和编解码器
Netty为许多通用协议提供了编解码器和处理器,几乎可以开箱即用,这减少了你在那些相当繁琐的事务上本来会花费的时间与精力.我们将探讨这些工具以及它们所带来的好处,其中包括Netty对于SSL/TLS和 ...
- Java基础篇——JVM之GC原理(干货满满)
原创不易,如需转载,请注明出处https://www.cnblogs.com/baixianlong/p/10697554.html ,多多支持哈! 一.什么是GC? GC是垃圾收集的意思,内存处理是 ...
- 大数据Spark与Storm技术选型
先做一个对比: 对比点 Storm Spark Streaming 实时计算模型 纯实时,来一条数据,处理一条数据 准实时,对一个时间段内的数据收集起来,作为一个RDD,再处理 实时计算延迟度 毫 ...