問題タブ [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.

0 投票する
1 に答える
1743 参照

clojurescript - 入力と試薬/再フレームのコードから同じ入力フィールドを更新する方法は?

整数入力フィールドと「+1」と「-1」の 2 つのボタンを備えた試薬コンポーネントがあります。ユーザーが次のことができるようにしたいと思います。

  • 入力フィールドに直接整数値を入力します
  • 「+1」をクリックして、入力フィールドの値を 1 増やします
  • 「-1」をクリックして、入力フィールドの値を 1 減らします。

また、リフレームを使用する場合、できるようにしたいです

  • ボタンの1つをクリックして入力または調整した後、値をリフレームのアプリデータベースに保存します
  • re-frame の app db で変更された場合、入力フィールドの値を更新します (たとえば、API サーバーから値を取得した後)。

どうすればそれを行うことができますか?

0 投票する
1 に答える
668 参照

clojurescript - Re-frame サブスクリプションとハンドラーを使用して Reagent コンポーネントに変更をプッシュする方法は?

次の架空の単純化された clojurescript スニペットを検討してください。

content 関数は Reagent コンポーネントを準備します。コード スニペットは期待どおりに機能します。( 'select' 関数は Spectre ライブラリの一部です。)

たとえば REPL 内の関数で cat アトムが変更されたときに、ブラウザーの React.js コンポーネントが変更されるように、最小限のリフレーム コードを追加したいと思います。サブスクリプションとハンドラーの再フレーム化に関する理論は知っていますが、このような最小限の例で機能させることができなかったため、理論的にのみです。それはどのように行われますか?Re-frame サブスクリプションとハンドラーを使用して Reagent コンポーネントに変更をプッシュする方法は?

0 投票する
2 に答える
134 参照

clojure - この ClojureScript スニペットで ^ 文字が使用されているのはなぜですか?

clojurescript re-frame todomvc アプリケーションでは、todomvc.views名前空間に次のスニペットがあります。

メタデータに関するClojureの章を読んだことがありますが、次の目的がよくわかりません。

上記のスニペットで。説明してください。

0 投票する
1 に答える
96 参照

clojure - re-frame todomvc アプリの todo-item 機能で % 文字は何を意味しますか?

re-frame todomvc views 名前空間には、次のスニペットを含む関数 todo-item が含まれています。

:on-save キーは、次のスニペットを含む todo-input 関数に渡されて使用されます。

最初のスニペットの % 文字の意味は何ですか:

そして、2番目のスニペットでどのように解釈する必要がありますか:

?

ここで todomvc ビューの名前空間を見つけます。

0 投票する
2 に答える
342 参照

clojure - 試薬と再フレームを使用する場合、クラッド タイプのアプリケーションで元に戻すとやり直しを実装する方法は?

リフレームのホームページには「保存と元に戻すのがとても簡単になりました」と書いてありますが、リフレームのサンプルアプリ「todomvc」には元に戻す/やり直し機能を実装するコードはありません。

Java のような OO 言語を使用する場合、実行されたアクションのコマンド インターフェイスを使用して元に戻す/やり直しを実装し、これらを「逆」で保存し、保存されたコマンド オブジェクトのコレクションからそれらを (再) 実行するのが一般的です。

一般的な OO デザイン パターンに相当する Clojure のページを読んだことがありますが、Command here. 元に戻す/やり直しを試薬で実装し、いくつかの例またはアプリケーションで再フレーム化することを確認すると役立ちます。

Q.試薬と再フレームを使用する場合、crud タイプのアプリケーションで元に戻すとやり直す方法を実装するには?

0 投票する
2 に答える
320 参照

clojure - 関数の clojurescript/reagent が機能しない

私は最近、私の clojurescript プロジェクトに試薬と再フレームを使用していますが、問題があります: HTML カスタム タグがあります。

そして、機能にcljsを使用して、試薬で生成されたhtmlにそれらを交換したい

しかし、うまくいかないので、for関数を使わずにテストしようとしました

タグが1つだけでうまくいきました。

そして、なぜfor関数が機能しないのか、それとも試薬がそのように機能しないのかわかりませんか? 誰か提案がありますか?

私はこれに非常に慣れていません。

0 投票する
1 に答える
650 参照

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 の数値)。

ID による投票

0 投票する
2 に答える
1006 参照

javascript - 秘書の URL パラメータを試薬コンポーネントにブロードキャストする正しい方法は何ですか?

re-frame default template の上にアプリを構築しています。

次の秘書ルートがあります。

id試薬コンポーネントの URL からパラメーターにアクセスしたいと考えています。私が見つけたそれを達成する唯一の方法は、に設定することdbです。何かのようなもの:

これは間違いなく私のデータベースを汚染し、反応で( react-routerを使用して)次のようなものを書いていたので、そのようなアプローチは私にとって奇妙に思えます:

秘書の URL パラメータを試薬コンポーネントにブロードキャストする正しい方法は何ですか?

UPD:コメントには、この問題に関する github ディスカッションへのリンクがあります。正しい方法として、URL パラメータを db に設定することを参照してください。とにかく、私はそれがあまり好きではありません。これにより、はるかに複雑になります(パラメータの設定、サブスクライブ、設定解除)。また、URL パラメータをアプリの状態として考えるのは好きではありません。ハックか何かありますか?