2017-08-10 4 views
0

Im React Native(バージョン0.46)のRefreshControlコンポーネントを使用してListViewを更新しています。 Iトリガは、2つの別々のドキュメンテーションで起こるように差につまずいReact Native-onRefreshコンポーネントは、bind(これ)とfuncを定期的に呼び出してリフレッシュをトリガしますか?

A)は、ネイティブドキュメントはRefreshControlコンポーネントをトリガするには、ユーザが更新する引っ張るときに起こるとonRefreshがトリガされることを示して反応します。その例では、彼らは、彼らは我々が起動していることを確認すること(詳細内容に飛び込むなし)一般的に何をしているか、このthis._onRefresh.bind(本)とイム間違っていない場合に、使用してこのライン
onRefresh={this._onRefresh.bind(this)}

でonRefreshトリガ_onRefreshは、グローバルスコープの機能です。

B)は、私はそうのようなトリガー呼び出すことができることを示し、この文書が見つかりました:

onRefresh={()=>this._refreshListView()}

注:これはStackOverflowののドキュメントから、及びSOFのdoc、IMに反対する人のためのものであるだけこれらのコード行の違いに興味があります。

私の質問:は2つの間に大きな違いはありますか? (細心の注意を払ってください)。また、私が何を理解しているのですかは私が上で述べたことを忠実にしていますか?もしそうでなければ、もう一方の方法を選択する理由はありますか?

おかげ

答えて

0

いいえ、このが。おそらく

要素youreの中で、バインド矢印機能の主な違いは、そのバインドが呼び出されますバウンド機能を作成し、あります通常の関数bindは呼び出されたときに特定のコンテキストで呼び出され、矢印関数はそれ自身のコンテキストを持たないため、より軽量になります。しかし、それは測定不可能です。

More

+0

差は計測不能ですが、私は万博のアプリを使ってPERFモニターをチェックし、あなたは正しいです。その文脈とは何か、「特定の文脈を持つ通常の関数を呼び出す」ということを何を意味しているのか精緻化していますか? – user3676224

+0

@ user3676224 bindの最初の引数は? –

+0

はい、関数はthis.o_onRefresh.bind(this)のように呼び出されます。私は文脈を参照するために "this"を渡すときに何が起こるかをかなり理解していません。私はその部分に関する説明を感謝します。 – user3676224