热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

近日使用Taro框架的一点小心得

p.p1{margin:0.0px0.0px0.0px0.0px;line-height:19.0px;font:13.0pxHelveticaNeue;color:#

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: 0;
    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'


如果只有 UI 组件,也可以如下书写

import A from './components/A/A'

export default A
这样的话,这个组件库使用起来,会是如下的方式

import A from 'taro-ui-sample'

41.移动端的交互尽量少 

42.写代码不要穿插(待续。。。)

43.后端数据返回,有error:string,就要有code:number搭配,方便给出错误提示和进行错误处理,403,404跳转等等

44.项目运行后出现这个问题:

发现,原来是因为安装包后vpn没关,关了就好了

 

一些链接:

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

 


推荐阅读
  • 本文介绍了如何在iOS平台上使用GLSL着色器将YV12格式的视频帧数据转换为RGB格式,并展示了转换后的图像效果。通过详细的技术实现步骤和代码示例,读者可以轻松掌握这一过程,适用于需要进行视频处理的应用开发。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 微信小程序详解:概念、功能与优势
    微信公众平台近期向200位开发者发送了小程序的内测邀请。许多人对微信小程序的概念还不是很清楚。本文将详细介绍微信小程序的定义、功能及其独特优势。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • Android开发技巧:使用IconFont减少应用体积
    本文介绍如何在Android应用中使用IconFont来显示图标,从而有效减少应用的体积。 ... [详细]
  • Vue 开发技巧:实现数据过滤与排序功能详解
    Vue 开发技巧:实现数据过滤与排序功能详解 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • QT框架中事件循环机制及事件分发类详解
    在QT框架中,QCoreApplication类作为事件循环的核心组件,为应用程序提供了基础的事件处理机制。该类继承自QObject,负责管理和调度各种事件,确保程序能够响应用户操作和其他系统事件。通过事件循环,QCoreApplication实现了高效的事件分发和处理,使得应用程序能够保持流畅的运行状态。此外,QCoreApplication还提供了多种方法和信号槽机制,方便开发者进行事件的定制和扩展。 ... [详细]
  • 在 Linux 环境下,多线程编程是实现高效并发处理的重要技术。本文通过具体的实战案例,详细分析了多线程编程的关键技术和常见问题。文章首先介绍了多线程的基本概念和创建方法,然后通过实例代码展示了如何使用 pthreads 库进行线程同步和通信。此外,还探讨了多线程程序中的性能优化技巧和调试方法,为开发者提供了宝贵的实践经验。 ... [详细]
  • 在 Vue 应用开发中,页面状态管理和跨页面数据传递是常见需求。本文将详细介绍 Vue Router 提供的两种有效方式,帮助开发者高效地实现页面间的数据交互与状态同步,同时分享一些最佳实践和注意事项。 ... [详细]
  • Vue应用预渲染技术详解与实践 ... [详细]
  • 在Android 4.4系统中,通过使用 `Intent` 对象并设置动作 `ACTION_GET_CONTENT` 或 `ACTION_OPEN_DOCUMENT`,可以从相册中选择图片并获取其路径。具体实现时,需要为 `Intent` 添加相应的类别,并处理返回的 Uri 以提取图片的文件路径。此方法适用于需要从用户相册中选择图片的应用场景,能够确保兼容性和用户体验。 ... [详细]
  • 在 Vue 项目中,为了提高页面加载速度和优化用户体验,实现图片上传前的压缩处理至关重要。本文介绍了如何通过集成第三方库和自定义组件,有效减小图片文件大小,确保在不影响图像质量的前提下,提升应用性能。 ... [详细]
  • 微信小程序图片上传功能详解:wx.chooseImage与wx.uploadFile的使用方法与注意事项
    在微信小程序中,图片上传功能是开发者常用的功能之一。本文详细介绍了 `wx.chooseImage` 和 `wx.uploadFile` 的使用方法及注意事项。通过 `wx.chooseImage`,用户可以选择本地图片或拍摄新照片,而 `wx.uploadFile` 则用于将选中的图片上传到服务器。文章还提供了代码示例,帮助开发者更好地理解和应用这两个 API。此外,文中还讨论了常见的错误处理和性能优化技巧,确保图片上传过程的稳定性和高效性。 ... [详细]
author-avatar
花开不美
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有