問題タブ [re-frame]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
clojurescript - 入力と試薬/再フレームのコードから同じ入力フィールドを更新する方法は?
整数入力フィールドと「+1」と「-1」の 2 つのボタンを備えた試薬コンポーネントがあります。ユーザーが次のことができるようにしたいと思います。
- 入力フィールドに直接整数値を入力します
- 「+1」をクリックして、入力フィールドの値を 1 増やします
- 「-1」をクリックして、入力フィールドの値を 1 減らします。
また、リフレームを使用する場合、できるようにしたいです
- ボタンの1つをクリックして入力または調整した後、値をリフレームのアプリデータベースに保存します
- re-frame の app db で変更された場合、入力フィールドの値を更新します (たとえば、API サーバーから値を取得した後)。
どうすればそれを行うことができますか?
clojurescript - Re-frame サブスクリプションとハンドラーを使用して Reagent コンポーネントに変更をプッシュする方法は?
次の架空の単純化された clojurescript スニペットを検討してください。
content 関数は Reagent コンポーネントを準備します。コード スニペットは期待どおりに機能します。( 'select' 関数は Spectre ライブラリの一部です。)
たとえば REPL 内の関数で cat アトムが変更されたときに、ブラウザーの React.js コンポーネントが変更されるように、最小限のリフレーム コードを追加したいと思います。サブスクリプションとハンドラーの再フレーム化に関する理論は知っていますが、このような最小限の例で機能させることができなかったため、理論的にのみです。それはどのように行われますか?Re-frame サブスクリプションとハンドラーを使用して Reagent コンポーネントに変更をプッシュする方法は?
clojure - この ClojureScript スニペットで ^ 文字が使用されているのはなぜですか?
clojurescript re-frame todomvc アプリケーションでは、todomvc.views名前空間に次のスニペットがあります。
メタデータに関するClojureの章を読んだことがありますが、次の目的がよくわかりません。
上記のスニペットで。説明してください。
clojure - re-frame todomvc アプリの todo-item 機能で % 文字は何を意味しますか?
re-frame todomvc views 名前空間には、次のスニペットを含む関数 todo-item が含まれています。
:on-save キーは、次のスニペットを含む todo-input 関数に渡されて使用されます。
最初のスニペットの % 文字の意味は何ですか:
そして、2番目のスニペットでどのように解釈する必要がありますか:
?
ここで todomvc ビューの名前空間を見つけます。
clojure - 試薬と再フレームを使用する場合、クラッド タイプのアプリケーションで元に戻すとやり直しを実装する方法は?
リフレームのホームページには「保存と元に戻すのがとても簡単になりました」と書いてありますが、リフレームのサンプルアプリ「todomvc」には元に戻す/やり直し機能を実装するコードはありません。
Java のような OO 言語を使用する場合、実行されたアクションのコマンド インターフェイスを使用して元に戻す/やり直しを実装し、これらを「逆」で保存し、保存されたコマンド オブジェクトのコレクションからそれらを (再) 実行するのが一般的です。
一般的な OO デザイン パターンに相当する Clojure のページを読んだことがありますが、Command here. 元に戻す/やり直しを試薬で実装し、いくつかの例またはアプリケーションで再フレーム化することを確認すると役立ちます。
Q.試薬と再フレームを使用する場合、crud タイプのアプリケーションで元に戻すとやり直す方法を実装するには?
clojure - 関数の clojurescript/reagent が機能しない
私は最近、私の clojurescript プロジェクトに試薬と再フレームを使用していますが、問題があります: HTML カスタム タグがあります。
そして、機能にcljsを使用して、試薬で生成されたhtmlにそれらを交換したい
しかし、うまくいかないので、for関数を使わずにテストしようとしました
タグが1つだけでうまくいきました。
そして、なぜfor関数が機能しないのか、それとも試薬がそのように機能しないのかわかりませんか? 誰か提案がありますか?
私はこれに非常に慣れていません。
clojurescript - 再フレーム: サブスクリプションが期待どおりに機能しない
再フレーム化から始めて、(おそらく非常に基本的な) 混乱のポイントがあります。
私はサブスクリプションを持っています:
この Form-2 コンポーネントで使用される:
私の app-db には有効なデータがあります。{:votes ... はマップのベクトルで、各マップには :id パラメータがあり、{:current-vote は数値です。
get-vote-by-id が機能することはわかっています。
そして、cv in (get-vote-by-id votes cv) を定数 (get-vote-by-id votes 2) に置き換えると、機能します。しかし、それ以外の場合、(get-vote-by-id ...) は空のベクトル [] に評価されます。
どんな助けでも感謝します、そして前もって感謝します!
これは、get-vote-by-id に正しい値が渡されることを示しています (投票のベクトルと ID の数値)。
javascript - 秘書の URL パラメータを試薬コンポーネントにブロードキャストする正しい方法は何ですか?
re-frame default template の上にアプリを構築しています。
次の秘書ルートがあります。
id
試薬コンポーネントの URL からパラメーターにアクセスしたいと考えています。私が見つけたそれを達成する唯一の方法は、に設定することdb
です。何かのようなもの:
これは間違いなく私のデータベースを汚染し、反応で( react-routerを使用して)次のようなものを書いていたので、そのようなアプローチは私にとって奇妙に思えます:
秘書の URL パラメータを試薬コンポーネントにブロードキャストする正しい方法は何ですか?
UPD:コメントには、この問題に関する github ディスカッションへのリンクがあります。正しい方法として、URL パラメータを db に設定することを参照してください。とにかく、私はそれがあまり好きではありません。これにより、はるかに複雑になります(パラメータの設定、サブスクライブ、設定解除)。また、URL パラメータをアプリの状態として考えるのは好きではありません。ハックか何かありますか?