オブザーバブルのクエリ:クレイジー&シンプル!
前の記事では、ストリームからのイベントを選択するためのAPIを調べました.
TLパッケージ@https://github.com/erql/rx-rql 📦
私たちがドラッグ- N -低下ふるまいを実行する必要があると想像してください.
そのために、3つのイベントストリームがあります.
イベントストリームの大理石図を描きましょう.
より良い読みやすくするために
別のイベント名を持っているので、私たちの図を一つの行に簡単にすることができます.
うーん
身近に聞こえる.
ああ!それが文字列なら、正規表現で簡単に行えます.
正しい?
唯一の場合は、regexesとストリームからのイベントを選択するライブラリがありました.
以下のようにグループ化できます: ここでは、このパッケージを使用して簡単なドラッグアンドドロップを作成します.
そしてここにMr. Potato-Head DnD 🥔 — より洗練された例
!THX ,クリス🙏
この記事を読んでくれてありがとう!反応して良い日を過ごす🙂
あなたが読書を楽しんだならば❤️ 🦄 📘 ボタン
そして、あなたがまだここで私の後をついていないならば、あなたはおそらく私の最近の実験を逃したでしょう.
コスパルクク🐇🎩
@ kddsky
👋 ここでは1との混合の例です️⃣ root - react 2️⃣ カウントダウン️⃣ リーフディスプレイ👉 stackblitz.com/edit/react-rxj… 🔗CC私が昨日言及した概念です.ウェジット️⃣
午後20時21分- 2020年10月6日
7
6
今私はあなたの考えを聞くのが大好きだ!👂
const D = fromEvent(element, 'mousedown');
const M = fromEvent(document, 'mousemove');
const U = fromEvent(document, 'mouseup');
exec(
'DM*U' // <- regular expression
, { D, M, U } // <- streams that will be used
)
.pipe(…)
.subscribe(console.log);
この記事では、機能APIの一部をレビューします.query(D, some(M), U) // select some Ms between Ds and Us
.pipe(…)
.subscribe(console.log)
しかし、まず、思考プロセスを要約します.あなたがすでに考えに慣れているならば-hop here TLパッケージ@https://github.com/erql/rx-rql 📦
💡 考えを捨てる
私たちがドラッグ- N -低下ふるまいを実行する必要があると想像してください.
そのために、3つのイベントストリームがあります.
mousemove$
, mousedown$
, mouseup$
. だから我々はキャプチャしたいmousemove$
アフターイベントmousedown$
出前mouseup$
.イベントストリームの大理石図を描きましょう.
mousedown$ --o------------
mousemove$ -o-o-o-o-o-o-o-
mouseup$ ------------o--
あらゆるイベントストリームは、別々の線で表されます.o
ストリームのイベントを表します.-
通過時間を表すセパレータですより良い読みやすくするために
o
ストリームの各文字に対してmousedown$ --d------------
mousemove$ -m-m-m-m-m-m-m-
mouseup$ ------------u--
' d 'は今マウスダウンイベント、マウスの移動のための別のイベント名を持っているので、私たちの図を一つの行に簡単にすることができます.
events$ -mdm-m-m-m-mum-
時間を取り除きましょう-
同様に、我々はそれらをしないevents$ mdmmmmmum
さて、新しい図に関して我々の仕事を言い直すためにm
イベント間d
and u
排出量🤔
うーん
"we need
m
s betweend
andu
"...
身近に聞こえる.
ああ!それが文字列なら、正規表現で簡単に行えます.
/dm*u/.exec('mdmmmum')
私たちに必要なdmmmu
後マウス移動なしでm
イベント.正しい?
唯一の場合は、regexesとストリームからのイベントを選択するライブラリがありました.
🚀 解決策
query(D, some(M), U)
.pipe(…)
.subscribe(console.log)
Rx-RQL 📦 パッケージは以下のAPIを提供します.query(…)
— 選択の根源A
— ストリームから1エミッションを選択するsome(A)
— を選択します∞ からの放出maybe(A)
— から0または1の放出を選択してくださいmany(n,m)(A)
— からのNからMへの排出から選択mute(A)
— から放出を選択してくださいsome(A, some(B), mute(C))
— 選択して多くの放出として選択:多くのBSとして可能な限りの排出量の間で選択し、ミュートそしてここにMr. Potato-Head DnD 🥔 — より洗練された例
!THX ,クリス🙏
👋 アウトロ
この記事を読んでくれてありがとう!反応して良い日を過ごす🙂
あなたが読書を楽しんだならば❤️ 🦄 📘 ボタン
そして、あなたがまだここで私の後をついていないならば、あなたはおそらく私の最近の実験を逃したでしょう.
コスパルクク🐇🎩
@ kddsky
👋 ここでは1との混合の例です️⃣ root - react 2️⃣ カウントダウン️⃣ リーフディスプレイ👉 stackblitz.com/edit/react-rxj… 🔗CC私が昨日言及した概念です.ウェジット️⃣
午後20時21分- 2020年10月6日
7
6
今私はあなたの考えを聞くのが大好きだ!👂
Reference
この問題について(オブザーバブルのクエリ:クレイジー&シンプル!), 我々は、より多くの情報をここで見つけました https://dev.to/kosich/queries-for-observables-crazy-simple-15h3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol