taro笔记

#### 注意事项

1. 一个文件只能创建一个组件;**子组件标签首字母需大写**;

2. 更新数据只能使用 setData(异步操作),第二个参数选填,可以拿到更新后的数据;

3. 布局单位使用 rpx,750 设计稿是多少就填多少;

4. 已对 loading、error 进行封装,使用时只需在 temp 标签内正常布局;

5. class 使用 className;

6. 变量统一包裹在{}中;

7. 在绑定需要手动触发的事件中,只能在函数里编写,这种写法会默认执行一次;

  ```

  <View onClick={isFlag=true}></View>

  ```

但在 jsx 中使用匿名函数会占用大量内存空间,所以尽量不要使用匿名函数;

8. 在给子组件传递函数时,函数需用 bind 绑定 this。子组件在事件里给父组件传递参数时,用 bind(this);

9. 给子组件传递 jsx 代码时,只能用**renderHeader**、**renderFooter**;

10. 引用本地图片的时候,只能使用以下方式;

    ```

    import errorImage from './images/icon_error.png'

    ```

11. 上拉加载用**onReachBottom** () {} 没效果,需要用箭头函数。所以函数统一使用箭头函数;

12. 给 input 做双向数据绑定时,使用 e.detail.value 赋值;

13. **添加一个新组件之后页面不显示,终端也没报错,重启终端解决;**

14. 列表添加无数据判断时,需要使用一个状态传至列表,不能直接根据 length 判断。因为暂无数据的样式会一闪,然后才是列表数据。

15. 上传图片需要指定**header**的**centent-type**,不然 ios 手机有兼容问题;

16. render 渲染中,如果一个对象有一个字段是数组,做容错处理时,只需判断该字段是否存在,不必加 length 的判断,不然偶尔 length 会拿不到值。如:

    ```

    {item.creditSaleInfo && (

      <View className='ul'>

        {item.creditSaleInfo.map((v, i) => {

          return (

            <View className='li' key={v.id + i}>

              {v}

            </View>

          );

        })}

      </View>

    )}

    ```

#### 控制台常见报错:

- Uncaught TypeError: e.trim is not a function

  `解决:标签的className不能为空`

- Uncaught TypeError: Cannot read property 'apply' of undefined

  ```

  解决:(1)给子组件传递事件代理程序时,需给props指定默认值

      (2)dom中调用了js未定义的方法

  ```

#### 命令行常见报错:

- sh: taro: command not found

  `解决:执行 sudo npm i -g @tarojs/cli --unsafe-perm=true --allow-root`

- TypeError [ERR_INVALID_ARG_TYPE]: The "to" argument must be of type string. Received type object

  `解决:把组件的文件夹改个名字就ok了。原因未知`

- const anonymousState\_\_temp = ;

  `解决:在return与render之间,给子组件传递dom的内容中存在 {/* <!-- --> */}注释;`

- Cannot read property 'css' of undefined

  ```

  解决:(1)缺少Sass环境

      (2)Sass文件里缺少引用资源

  ```

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,342评论 0 3
  • 微信小程序的专属方法如下 一般组件完整的生命周期如下 入口文件继承自 Component 组件基类,它的生命周期不...
    策炼阅读 546评论 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,772评论 1 45
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,571评论 0 17
  • 原教程内容详见精益 React 学习指南,这只是我在学习过程中的一些阅读笔记,个人觉得该教程讲解深入浅出,比目前大...
    leonaxiong阅读 2,860评论 1 18