問題タブ [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.
io - クライアント側の clojurescript/re-frame アプリでファイルを読み込む
ファイルを読み取り、そのコンテンツを変換してから結果をエクスポートするクライアント側アプリケーションを作成しています。これを行うために、Re-Frame を使用することにしました。
今、私は頭を Re-Frame と cloujuresipt 自体に巻き込み始めており、次のことが機能するようになりました。
ビュー関数のどこかで、単純な HTML 入力を介して新しいファイルが選択されるたびにこれを送信します。
私が得るのはのようなものC:\fakepath\file-name.txtで、fakepath は実際にはその一部です。
私のイベントハンドラーは現在、名前のみを分割し、上記の入力がサブスクライブされているファイル名を保存して、選択したファイルを表示します。
さらに、ファイルを読み込んで、後でローカルで処理したいと考えています。代わりにアクションとイベント ハンドラーを変更してこれを行うと仮定するとon-change、どうすればよいでしょうか?
しばらく探しましたが、ほとんど見つかりませんでした。他のフレームワークなどで出てきた唯一のものですが、新しい問題ごとに新しい依存関係を導入したくはありません。
clojurescript - アトムをパラメーターとして渡す代わりに、サブコンポーネントでサブスクライブします。(試薬・リフレーム)
どう思いますか?パフォーマンス効率の高いソリューションはどれですか?
A) サブコンポーネントで re-frame db atom を購読する
B) そのアトムをパラメーターとしてサブコンポーネントに渡します。
A の例を次に示します。
B の例:
B/2 の例:
clojurescript - Clojureスクリプト。再レンダリングが発生したときに Reagent のアトムをリセットする
クイズ テストの一連の問題を表示しています。ブラウザに表示されるときに番号を付けるために、各問題に番号を割り当てています。
問題は、誰かがブラウザで質問を編集すると (そしてディスパッチが呼び出され、「app-db」マップが更新されると)、コンポーネントは再レンダリングされますが、アトム「カウンター」はゼロからではなく最後の番号から論理的に開始されることです。 . そのため、アトムをリセットする必要がありますが、どこにあるのかわかりません。匿名関数内でletを試してみましたが、うまくいきませんでした。
clojurescript - cljs リフレームでカスタム「ゲッター」クエリを作成するには?
次のようなセルの配列を含むボード構造を持つボード ゲームをモデル化するリフレーム アプリを作成しています。
リフレームは のような素敵なキーワード構文で「自然な」部分構造の取得をサポートしてい(db :board-cells)ますが、マテリアルを取得するたびに「ドリルダウン」クエリ全体を書かなければならないことにうんざりしています(get (nth (db :board-cells) index) :material)。これには、データベースの物理レイアウトがアプリケーション ロジックに密接に結合されるという欠点もあります。データベース構造を変更することにした場合はどうなりますか? 次に、1 つではなく 10 の異なるスポットを更新する必要があります。
「仮想クエリ」を作成する公式のリフレーム方法はありますか? (db :get-nth-mat n)n はboard-cells配列内のセル番号です。と思っていdb.cljsたreg-subところだったのですが、うまくいかないようです。はい、独自のゲッターを作成できます。
のように呼び出します(println "mat-4=" (cell/get-material db 4))が、これはそれほど便利でも素敵でもありません(db :get-nth-mat n)
どうもありがとう。
clojurescript - Re-frame でカウンターをリセットする方法 (ClojureScript)
これは、新しいフレームワークを学習するときに誰もが発見するばかげた/複雑なことの 1 つに違いありません。だから私はこの機能を持っています:
@counterアトムは重要なデータを保持しません。これは、リストに数値を表示するための単なる「視覚的な」カウンターです。ページが初めて読み込まれると、すべて正常に動作します。リストに表示される質問が 5 つ (1..5) の場合、問題は、質問がサブスクリプションを作成/編集/削除したときです。
が再度呼び出され、もちろんリストが表示されますが、現在は 6 から 11 です。そのため、@counter をリセットする方法が必要です。