taro筆記

#### 注意事項(xiàng)

1. 一個(gè)文件只能創(chuàng)建一個(gè)組件;**子組件標(biāo)簽首字母需大寫(xiě)**;

2. 更新數(shù)據(jù)只能使用 setData(異步操作),第二個(gè)參數(shù)選填,可以拿到更新后的數(shù)據(jù);

3. 布局單位使用 rpx,750 設(shè)計(jì)稿是多少就填多少;

4. 已對(duì) loading、error 進(jìn)行封裝,使用時(shí)只需在 temp 標(biāo)簽內(nèi)正常布局;

5. class 使用 className;

6. 變量統(tǒng)一包裹在{}中;

7. 在綁定需要手動(dòng)觸發(fā)的事件中,只能在函數(shù)里編寫(xiě),這種寫(xiě)法會(huì)默認(rèn)執(zhí)行一次;

? ```

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

? ```

但在 jsx 中使用匿名函數(shù)會(huì)占用大量?jī)?nèi)存空間,所以盡量不要使用匿名函數(shù);

8. 在給子組件傳遞函數(shù)時(shí),函數(shù)需用 bind 綁定 this。子組件在事件里給父組件傳遞參數(shù)時(shí),用 bind(this);

9. 給子組件傳遞 jsx 代碼時(shí),只能用**renderHeader**、**renderFooter**;

10. 引用本地圖片的時(shí)候,只能使用以下方式;

? ? ```

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

? ? ```

11. 上拉加載用**onReachBottom** () {} 沒(méi)效果,需要用箭頭函數(shù)。所以函數(shù)統(tǒng)一使用箭頭函數(shù);

12. 給 input 做雙向數(shù)據(jù)綁定時(shí),使用 e.detail.value 賦值;

13. **添加一個(gè)新組件之后頁(yè)面不顯示,終端也沒(méi)報(bào)錯(cuò),重啟終端解決;**

14. 列表添加無(wú)數(shù)據(jù)判斷時(shí),需要使用一個(gè)狀態(tài)傳至列表,不能直接根據(jù) length 判斷。因?yàn)闀簾o(wú)數(shù)據(jù)的樣式會(huì)一閃,然后才是列表數(shù)據(jù)。

15. 上傳圖片需要指定**header**的**centent-type**,不然 ios 手機(jī)有兼容問(wèn)題;

16. render 渲染中,如果一個(gè)對(duì)象有一個(gè)字段是數(shù)組,做容錯(cuò)處理時(shí),只需判斷該字段是否存在,不必加 length 的判斷,不然偶爾 length 會(huì)拿不到值。如:

? ? ```

? ? {item.creditSaleInfo && (

? ? ? <View className='ul'>

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

? ? ? ? ? return (

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

? ? ? ? ? ? ? {v}

? ? ? ? ? ? </View>

? ? ? ? ? );

? ? ? ? })}

? ? ? </View>

? ? )}

? ? ```

#### 控制臺(tái)常見(jiàn)報(bào)錯(cuò):

- Uncaught TypeError: e.trim is not a function

? `解決:標(biāo)簽的className不能為空`

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

? ```

? 解決:(1)給子組件傳遞事件代理程序時(shí),需給props指定默認(rèn)值

? ? ? (2)dom中調(diào)用了js未定義的方法

? ```

#### 命令行常見(jiàn)報(bào)錯(cuò):

- sh: taro: command not found

? `解決:執(zhí)行 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

? `解決:把組件的文件夾改個(gè)名字就ok了。原因未知`

- const anonymousState\_\_temp = ;

? `解決:在return與render之間,給子組件傳遞dom的內(nèi)容中存在 {/* <!-- --> */}注釋?zhuān)籤

- Cannot read property 'css' of undefined

? ```

? 解決:(1)缺少Sass環(huán)境

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

? ```

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,874評(píng)論 0 3
  • 微信小程序的專(zhuān)屬方法如下 一般組件完整的生命周期如下 入口文件繼承自 Component 組件基類(lèi),它的生命周期不...
    策煉閱讀 601評(píng)論 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,826評(píng)論 1 45
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 7,356評(píng)論 0 17
  • 原教程內(nèi)容詳見(jiàn)精益 React 學(xué)習(xí)指南,這只是我在學(xué)習(xí)過(guò)程中的一些閱讀筆記,個(gè)人覺(jué)得該教程講解深入淺出,比目前大...
    leonaxiong閱讀 2,945評(píng)論 1 18

友情鏈接更多精彩內(nèi)容