問題タブ [reagent]

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 に答える
434 参照

clojurescript - re-frame: コンポーネントのサブスクリプションが更新されたときに、nvd3 グラフが応答しない

ビュー ライブラリとして使用するre-framecljs フレームワークを使用しています。サブスクリプションの更新時に更新したいグラフ コンポーネントがreagentあります。nvd3

残念ながら、 への最初の呼び出しの後、グラフが更新されることはありません:component-did-mount:component-will-update最初のレンダリング後に再度呼び出されることはありません。

サブスクリプションがリッスンしているデータが変更されたことをコンポーネントに通知すると、グラフが更新されるようにします。

グラフコンテナコンポーネントは次のとおりです。

グラフ コンポーネントは次のとおりです。

最後に、グラフがレンダリングされるコンポーネントは次のとおりです。

私は何が欠けていますか?助けてくれてありがとう。

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

reagent - イベントハンドラーの React refs の代替?

github および google グループでこの質問をしました。結果が出ませんでした。質問は次のとおりです。

再利用可能なコンポーネントをいくつか作成したいとします。

1 つのページに複数のソング プレーヤーが必要だとします。その場合、ページの ID が重複するため、ID(#player-audio) を audio 要素に割り当てることができません。

では、イベント ハンドラーでローカル コンポーネントを参照するにはどうすればよいでしょうか。この場合、on-click イベントのイベント ハンドラーでローカル オーディオ要素を参照するにはどうすればよいですか?

react.js では、オーディオ コンポーネントに ref を割り当て、this.refs.XXX で参照できます。試薬でこれを行うにはどうすればよいですか? ありがとう!

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

clojurescript - regent in clojurescript: 選択した値は PC ブラウザーに保存できますが、モバイル ブラウザーには保存できません

re-frame を使用して clojurescript アプリを開発しています。選択のオプションを保存します。@new-feedback は、新しいオプションを選択するたびに変更されるアトムです。そして、保存ボタンをクリックすると、データが保存されます。

https://github.com/wqhhust/test_frame/blob/master/src/cljs/test_frame/views.cljs#L36で確認して ください

そして、ディスパッチはロジックのハンドルをトリガーします:

新しいフィードバックがグローバル データベースに保存されます。 https://github.com/wqhhust/test_frame/blob/master/src/cljs/test_frame/handlers.cljs#L16

PC ブラウザーを開いて要素をクリックし、オプションを選択して保存します。要素をもう一度クリックすると、保存された値が表示されます。しかし、Androidフォン、iPhone、タブレットに関係なく、モバイルブラウナーでそれを行うと、データが保存されず、要素を再度開くたびに、保存されたデータが失われます。

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

clojurescript - Radium が Reagent (Clojurescript) で機能しないのはなぜですか?

Reagent -project/reagent · GitHubでFormidableLabs/radium · GitHubを動かそうとしたのですが、行き詰まってしまいました。

このように試薬機能を「ハッキング」することで部分的に動作させることができましたcreate-class(オリジナルとほぼ同じですが、js/Radiumラッパーを追加しただけです)。

次に、このようなコンポーネントの関数を作成しました

そして、次のような他の試薬レンダリング関数のどこかで使用します。[radium/radium]

  • したがって、スタイルのベクトルを一緒にマージすることはうまく機能します (これが Radium 機能です)。
  • メディア クエリも機能しますが、最初のレンダリングでのみ、画面サイズを変更しても動的に反応しません。
  • :hover :focus :activeまったく機能しません

何が問題なのかを知るために、私は Radium コードを掘り下げていました。onMouseEnter onMouseLeaveRadium が適切に props をコンポーネントに割り当て、コンポーネントの:hover状態を true に設定することは良い兆候です。

これは適切に起動されます: https://github.com/FormidableLabs/radium/blob/master/modules/resolve-styles.js#L412

問題は、render新しい状態 (Radium によって変更された) に基づいてコンポーネントを再レンダリングすると想定される関数がまったく起動されないことです。このrender関数: https://github.com/FormidableLabs/radium/blob/master/modules/enhancer.js#L22 一方、JS Radium の例 (Clojurescript と Reagent なし) を実行すると、このレンダリング関数はすべてのonMouseEnter onMouseLeave. 試薬ではまったくありません。

コンポーネントの状態が変化すると、Reagent は何らかの方法で再レンダリングをブロックしますか?

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

clojurescript - 試薬のイベントを左にタッチ/右にタッチ

試薬を使用してサイトを開発しています。実際、一般的に、試薬でタッチイベントを操作する方法は私にはわかりません。この投稿 clojurescript: touch events and Dominaを読みましたが、 domina を使用して on-touch-start イベントをagentで処理する必要がありますか? ユーザーが%を左または右にスワイプした場合、dom要素を指定して、検出するコードのスニペットを誰かが持っているでしょうか?

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

clojurescript - Reagent: component-will-receive-props から新しい props を取得するには?

したがって、署名component-will-receive-propsは次のとおりです。

https://github.com/reagent-project/reagent/blob/master/src/reagent/core.cljs#L114

:component-will-receive-props (fn [this new-argv])

しかしnew-args、それは関数またはjsオブジェクトのようです。私はそれが小道具の地図であることを期待していました。から小道具のマップを取得するにはどうすればよいnew-argvですか? から古い小道具を入手できますthis(reagent/props this)、それは古い小道具であり、新しく受け取ったものではありません。

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

clojurescript - clojurescriptでクエリパラメータを取得するには?

秘書と試薬を使っています。これは私のコードです:

:prefix 値を無視すると (""、"#" を試し、:prefix をまったく設定しませんでした)、このコードは次のようなルートでのみ機能します。

ただし、次のようなルートでは機能しません。

私が実際に達成しようとしているのは、友人からのログイン失敗を解析することです。これは、失敗した場合に私をリダイレクトします

ログイン失敗メッセージをユーザーに表示します。これに秘書を使用する必要はありません。クエリパラメーターを解析するために機能するものは何でも問題ありません。

難しい方法は、取得できるクエリ文字列を解析することです。

これは、一部のライブラリですでにうまく機能していると思います。