react native
バージョン へのアップデートにより、新しいコンポーネントが登場しました。が とどう違うのか、また、いつこれらを使用したほうがよいのかを、0.63
経験豊富な方から説明していただけますか。Pressable
TouchableOpacity
ベストアンサー1
Pressable は RN 0.63 で新しく導入されましたが、それ以前は、Touchable Opacity がコンポーネントまたは類似のコンポーネントをラップするために最もよく使用されていたコンポーネントでした。
両方の基本機能は同じで、テキスト/画像をクリック可能にし、ユーザーがインタラクティブに操作できるようにします。
しかし、Pressable
次のような多くの新しい小道具にアクセスできるようになります:
HitRect
ドキュメントによると、これは非常に優れた機能です。
指は最も精密な器具ではないため、ユーザーが誤って間違った要素をアクティブにしたり、アクティブ化領域を見逃したりすることはよくあります。これに対処するために、 には
Pressable
オプションがあり、HitRect
これを使用して、ラップされた要素からどのくらい離れた位置でタッチを登録できるかを定義できます。 内のどこからでも押下を開始できますHitRect
。
これは明らかに、私たちが に使用した方法よりも優れた代替手段ですhitslop
。ここではより正確で、領域を定義します。また、子コンポーネントや他のコンポーネントの Z インデックスにも干渉しません。
つまり、基本的にボタンのすべての機能、touchableOpacity、および新しいクールなプロパティが得られます。ドキュメントを確認してください:rn-押せる
注記: また、このスレッドの他のコメントが示唆しているように、PressableにはまだonPressイベントにアニメーションが添付されていません。
役に立つことを願っています。疑問があれば遠慮なく