Taroを使って微信の小さいプログラムの1つの小さい結び目を開発します

2374 ワード

現在、Taroを使用して2つの微信ウィジェットプロジェクトを開発し、出会った問題を共有しています.
1、Taro.reLaunch互換性の問題
AページrelaunchからBページ、BページrelaunchからCページ、iOSシステムサポート、アンドロイドシステムサポート.
==解決策==
AページrelaunchからBページ、BページredirectToからCページまで、同様の機能を実現します.
Taro.reLaunchとwx.reLaunchはすべてのページを閉じ、アプリケーション内のページを開きます.
Taro.redirectTo同wx.redirectTo現在のページを閉じ、アプリケーション内のページを開きます.
2、時間変換の問題
取得した時間データフォーマット'2019-6-14 11:11'は、時間変換を行い、ミリ秒数を取得する
new Date('2019-6-14 11:11:11').getTime()

アンドロイドとpc端子で正常に変換され、非常に完璧です.しかしiOSではinvalid Dateを返します
テスト後の検出
new Date('2019-6-14 11:11:11')

iOSでinvalid Dateを返す
==解決策==
時間文字列の'-'を'/'に変更すればよい
new Date('2019-6-14 11:11:11'.replace(/-/g, "/"))

iOS側が変換をサポートする時間タイプは次のとおりです.
new Date(2019/6/14)
new Date("2019","6","14","11","11")
new Date(148888888888888) //               

3イベントバインドパラメータ規則
イベントバインドパラメータはbind方式でなければなりません
onClick={this.handleClick.bind(this, val)}

4、コンポーネント間の値伝達
方法の前にonサブコンポーネントの蔡調の通をプラスします
···

···

5、条件レンダリング
Taroはrender関数以外にjsxを書くことはサポートされていないので、関数が戻るように実現することはできません
jsxはif演算をサポートしていません.三元演算子または式で実現できます.
{this.state.type === 1 ?     :    }
{this.state.isReport &&     }
{this.state.isReport && this.state.type === 1 &&        }
{this.state.isReport || this.state.type === 1 &&        }

6、経路伝達
Taro.navigateTo({
  url: `../sport/advice?code=${this.reportCode}`
})

7、ルーティングパラメータ
this.reportCode = this.$router.params.code

8、紛失問題
常にnpm run dev:wepp後にパケット損失の問題が発生する
==解決策==
  • プロジェクトを再コンパイルします.
  • distとnodeを削除modulesディレクトリの後、npm installを再解決します.
  • エディタを閉じて再開します.

  • 9、npm run dev:wepp後のファイルがコンパイルされていない
    コンパイルされていないファイルを開き、保存すると自動的にコンパイルされます.
    10、ウィジェットのonShow()ライフサイクルはTaroのcomponentDidShow()ライフサイクルに等しい
    今のところこんなにたくさん思い出して、後で補充します.
    初めて文章を出してくれて、ありがとうございました.