反応するボトムパネルを反応させる
TL;DR: Source for
BottomPanel.jsx
andBottomPanel.module.scss
is at
https://gist.github.com/josiahbryan/c220708256f7c8d79760aff37f64948f.Live Demo: https://josiahbryan.com/#/bottompanel-demo
私は最近、いくつかの異なるプロジェクトに取り組んできましたfringe.us , そして、他のプロジェクトは、贅沢な運転サービスのためのアプリケーションです.
これらのプロジェクトの両方が部分的に露出することができますし、ドラッグ/ドラッグのコンテンツを明らかにすることができるボトムパネルを呼び出します.
私はハイとローを検索し、反応のちょうどそのようなUIコンポーネントの任意の許容可能な実装を見つけることができませんでした-それはかなり衝撃的だった、私は確かに誰かが反応のためにすでにこの一般的なUIパラダイムを解決していたと思った!
私は、非ウェブ反応形式でパラダイムの多くの実装を見つけました.
私はほとんど解決策を見つけることをあきらめたが、昨日私はそれを1つの最後のトライを与えることにした.私は確かに自分自身を実装することができます!私は最初に抽出
SwipeableDrawer
@材料UIのソースからのコンポーネントが、それは信じられないほど痛みを証明し、その作業を得たことがない.それから私は自分自身の引き出しの簡単な実装を試してみました
react-swipeable
'sものすごいフック.それはうまくいきました、しかし、FPS(特にモバイルで)は恐ろしいです.私は10〜12 fpsをドラッグして話している.認められない.そして、ほとんどプロビデンスのように、私はこのセクションにつまずいた
react-swipeable
'Shttps://github.com/FormidableLabs/react-swipeable#how-to-use-touch-action-to-prevent-scrolling - それは私がまだ見ていなかったパッケージについて言及しました. use-gesture
. この点によって、私は医者を読むことから疲れ果てて、私がちょうどそのパッケージを見ていると思いましたが、何も役に立つと思いませんでした.少年、私は間違っていた.私は博士を読みました
use-gesture
そして、微妙に感動しました.それからtheir examples page , これは、私を「アクションシート」の例に導きました.https://codesandbox.io/embed/zuwji?file=/src/index.js&codemirror=1 - 言うまでもなく、私は信じられないほど感動しました!私は、非常に最小限の調整でコードを移植することを再利用に設定しました
BottomDrawer
私が欲しかった様々な余分の部分を持っていたコンポーネント<BottomPanel>
- 私は知っているので、オリジナル-私の言い訳は私がキスするのが好きです.このコンポーネントのライブワーキングの例を見るには、私のウェブサイトに向かいます.
例
<BottomPanel>
クローズド例
<BottomPanel>
オープン以下のように使用できます:
<BottomPanel
maxOpenHeight={window.innerHeight * 0.8} // px
closedPanelSize={200} // px
>
<LoremIpsum />
</BottomPanel>
あなたのための完全なソースを見つけることができますBottomPanel.jsx
と必要なスタイルBottomPanel.module.scss
) 次の要点ではhttps://gist.github.com/josiahbryan/c220708256f7c8d79760aff37f64948f .
乾杯!
ヨシヤブライアン
Reference
この問題について(反応するボトムパネルを反応させる), 我々は、より多くの情報をここで見つけました https://dev.to/josiahbryan/react-draggable-bottom-panel-17f0テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol