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'は、時間変換を行い、ミリ秒数を取得する
アンドロイドとpc端子で正常に変換され、非常に完璧です.しかしiOSではinvalid Dateを返します
テスト後の検出
iOSでinvalid Dateを返す
==解決策==
時間文字列の'-'を'/'に変更すればよい
iOS側が変換をサポートする時間タイプは次のとおりです.
3イベントバインドパラメータ規則
イベントバインドパラメータはbind方式でなければなりません
4、コンポーネント間の値伝達
方法の前にonサブコンポーネントの蔡調の通をプラスします
5、条件レンダリング
Taroはrender関数以外にjsxを書くことはサポートされていないので、関数が戻るように実現することはできません
jsxはif演算をサポートしていません.三元演算子または式で実現できます.
6、経路伝達
7、ルーティングパラメータ
8、紛失問題
常にnpm run dev:wepp後にパケット損失の問題が発生する
==解決策==プロジェクトを再コンパイルします. distとnodeを削除modulesディレクトリの後、npm installを再解決します. エディタを閉じて再開します.
9、npm run dev:wepp後のファイルがコンパイルされていない
コンパイルされていないファイルを開き、保存すると自動的にコンパイルされます.
10、ウィジェットのonShow()ライフサイクルはTaroのcomponentDidShow()ライフサイクルに等しい
今のところこんなにたくさん思い出して、後で補充します.
初めて文章を出してくれて、ありがとうございました.
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後にパケット損失の問題が発生する
==解決策==
9、npm run dev:wepp後のファイルがコンパイルされていない
コンパイルされていないファイルを開き、保存すると自動的にコンパイルされます.
10、ウィジェットのonShow()ライフサイクルはTaroのcomponentDidShow()ライフサイクルに等しい
今のところこんなにたくさん思い出して、後で補充します.
初めて文章を出してくれて、ありがとうございました.