問題タブ [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 投票する
3 に答える
3795 参照

reactjs - JSXなしでreact-routerを使用する

javascript API を介して react-router を使用する例を見つけようとしていますが、これまでのところ何も見つかりませんでした。

私の目標は、react-router を試薬と clojurescript で使用することです。したがって、誰かがこれを機能させた場合 (Om を使用しても)、正しい方向に進んでいただければ幸いです。それ以外の場合は、JSX を使用しない単純な JavaScript の例が役立ちます。

編集 1 -- 解決策に近づく

JSX をプレーンな JS に変換する手助けをしてくれた @FakeRainBrigand に感謝します。

これが React.js 0.11.2 バージョンです (現在のリリースの Reagent が使用しているのは 0.4.3 です)。

JSXTransformer.jsヒント:お使いのバージョンの Reactを使用して JSX->JS 変換を実行できます。ページに含めて、ブラウザの開発者コンソールを使用して実行するだけですJSXTransformer.transform('/** @jsx React.DOM */<Route location="history">...</Route>').code

Clojurescript のバージョンは次のとおりです。

残念ながら、Reagent がデフォルトで作成するコンポーネントは、「標準」の React コンポーネントではないようですReact.isValidClass(myReagentComponent) === false。あとは、そのテストに合格する形でコンポーネントを生成する方法を理解するだけです。そのために投稿されたスタックオーバーフローの質問があります。

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

reactjs - Reagent は、React.isValidClass(component) を渡す React コンポーネントを生成しますか?

Clojurescript Reagent プロジェクトで react-router を使用しようとしています。問題は、react-router がコンポーネントに pass を要求することですReact.isValidClass(component)。これは、React 0.11.2 では次のように定義されています。

Reagent は、関数ではなくオブジェクトとしてコンポーネントを生成するようです。これが私のコードです:

この種の相互運用を機能させる方法を考え出した人はいますか?

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

reactjs - 試薬 (または Om) の React の参照?

コンポーネントのレンダリング後に入力フィールドにフォーカスするなど、DOM の状態を変更するためにReact のRefsを使用すると便利な場合があります。ReagentまたはOmはこれを実装していますか、そうでない場合、これらのライブラリでこれを行う慣用的な方法は何ですか?

EDIT(以下の議論の後)。

this.getDOMNodeinの使用は、componentDidMountこの問題に対する一般的な解決策ではありません。コンポーネントがマウントされた後にのみ、物理 DOM 要素へのアクセスが許可されます。イベントをトリガーする場合など、render を呼び出すたびに、要素への一貫したアクセスが必要になる場合があります。それを行う方法は、参照を使用することです。

0 投票する
0 に答える
1769 参照

reactjs - Reagent should-component-update が呼び出されない

不必要なレンダリングを避けるために、 should-component-update ライフサイクル関数を実装しようとしています。私の現在の実装は次のようになります。

should-component-update から false を返しても、コンポーネントは常に更新されます。(.log js/console ...)いくつかのデバッグステートメントを追加してもコンソールにメッセージが生成されないため、関数は呼び出されていないようです。ここで何が欠けていますか?

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

reactjs - Clojurescipt/Reagent で ReactJS コンポーネントを使用する方法

Clojurescript のReagentで使用するために ReactJS コンポーネントをラップすることは可能ですか? であると読みました。誰かが私に基本的な例を提供できますか?

ありがとう

0 投票する
3 に答える
2839 参照

clojure - Reagent / Clojurescriptでクライアントの状態を最新に保つ

これについて最善の方法がわかりません:

いくつかの「プロジェクト」オブジェクトの基本的な CRUD 機能を実装する、作成中の Web アプリケーションがあります。そのため、ユーザーは独自のプロジェクト セットを作成できます。

プロジェクトを追加/削除/一覧表示するための REST API を作成し、Reagent フロントエンド クライアントを作成しました。ご想像のとおり、クライアントのプロジェクトは試薬アトム (ratom) に保持されます。

ここが興味深いところです。

私が見たすべてのチュートリアルでは、ratom を更新する方法を示しており、GUI は自動的に更新されます。私はそれを持っています、それはうまくいきます。

私が現在行っていることは、クライアントの状態を更新する時点で、データベースのサーバーの状態を更新するために REST POST 呼び出しを行うことです。

しかし、これは気分が悪い。現在、クライアントとサーバーの 2 つの場所に状態を保存していますが、どちらも異なる可能性があります。

これを単純な古い Web ページとして実装した場合、サーバーはデータベースの最新の状態を含むページをクライアントに送り返します。しかし、状態はクライアントのラトムに既に存在しており、どのように同期すればよいかわかりません。

最初の POST が成功した後、サーバーに別の呼び出し (GET 要求) を行う必要がありますか? これにより、ratom の内容が置き換えられる可能性があります。それから私は2つの要求をしています..無駄に思えます。

または、コードセンテなどを使用してクライアントの状態を非同期に管理することをお勧めします。これは、他のユーザーからの変更がクライアント側で即座に更新されることを意味するため、より優れています。しかし、これらのいずれかに反応することを示すチュートリアルが表示されないため、間違った方向に進んでいる可能性があります。

したがって、問題は単純に、組み合わせて REST とどのように反応するべきかということです。

ありがとう

0 投票する
3 に答える
4642 参照

reactjs - 試薬:コンポーネントがマウントされました

入力要素に初期フォーカスを設定しようとしています

これは私にはうまくいきません。私は何を間違っていますか?

0 投票する
3 に答える
1114 参照

clojure - clojurescript + 試薬の問題

私は、clojurescript と試薬を使用して単純な Web アプリに取り組んでいます。テキスト入力コンポーネントを含む単純な「タブ」コンポーネントを作成したいと思います。

アプリには 2 つのタブがあり、ユーザーはタブを選択するオプションがあり、これら 2 つのタブのそれぞれの値を「保持」したいと考えています。

コードは次のとおりです。

問題は、タブを切り替えると、コンポーネントが入力フィールドの値を共有することです。ここで何が間違っていますか?

手伝ってくれてどうもありがとう!

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

reagent - コンポーネント関数内の「キー」プロパティ

次のケースがあります(試薬+ react.js):

実行時に、react.js が「キー」属性の欠落について不平を言っていることがわかります。コンポーネント関数からキーを指定する方法はありますか? raw は、独自のライフサイクル コールバックなどを使用して非常に大きくなる可能性があるため、別のコンポーネント関数にしたいと考えています。

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

javascript - Reagent ページを更新すると、Firebase データが利用できないため、例外が発生します

戻るボタンと進むボタンをクリックしている間、すべてのページで機能する試薬があります。ただし、ページが更新されると例外がスローされます。

私のアプリは、Firebase とsetsアトムからデータをフェッチします。次に、UI がレンダリングされます。ビューはアトムからデータを取得し、UI をレンダリングします。

しかし、更新すると、Atom が Firebase によって取り込まれる前にページがレンダリングされ、データがまだ利用できないため例外が発生するようです。

注:(println clicked-job uid)マークアップをレンダリングするのではなく、ページを更新するprintlnと、最初nilにデータが返され、2 回目にデータが返されます。

ページを適切に更新するための助けをいただければ幸いです。