問題タブ [react-rails]

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 投票する
4 に答える
228 参照

heroku - Heroku Production - ActionView::Template::Error (未定義のメソッド `directory' for #)

react-rails アプリがあります。残念ながら、アプリはローカル開発では機能しますが、heroku にデプロイすると機能しません。アプリでデフォルト パスに移動すると、次のエラーが発生します。 ActionView::Template::Error (undefined method 'directory' for #<Sprockets::Manifest:0x007fef13200aa8>)

ビューのこの行で発生することがわかりました。 <%= react_component('NavBar', {}, {prerender: true}) %>

私たちのアプリに関するいくつかのこと:

  • browserify を使用して js.jsx をコンパイルします。
  • RAILS_ENV=production bundle exec rake assets:precompilepublic/assets フォルダーを削除した後に使用してプリコンパイルします。
  • と の両方rails sでローカルに動作しますforeman start
  • ブーストラップスプロケットを使用しています。削除されても、この問題は解決しません。

npm の依存関係は次のとおりです。

これが私たちのGemfileです

どうぞよろしくお願いいたします。

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

ruby-on-rails - rails + react-rails gem + react router によるサーバーレンダリング

レール (v4.2.6) と react-rails (v1.6.2) および react-router (v2.0.0-rc5) を使用するこのサンプル リポジトリを作成しました: https://github.com/pioz/rails_with_react_and_react_router_example

app/views/application/react_entry_point.html.erbコンポーネントをレンダリングするファイルMountUp

コンポーネントMountUpは私のルーターをレンダリングします:

すべて正常に動作しますが、オプションprerender: trueを変更すると奇妙なエラーが発生しますReact::ServerRendering::PrerenderError in Application#react_entry_point:

このアプリのサーバー側をレンダリングするにはどうすればよいですか? これはこれを行う正しい方法ですか?

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

ruby-on-rails-4 - 警告: 入力は void 要素タグであり、`children` を持つことも、`props.dangerouslySetInnerHTML` を使用することもできません。null の render メソッドを確認する

フォーム URL への ajax 呼び出しが失敗した場合、フォームにエラーを表示しようとしています。以下は私のAdminコンポーネントです:

対応AdminErrorするコンポーネントは次のとおりです。

デバッグ中に、「電子メールが無効です」という @props.errorText の正しい値を取得しています。しかし、ページにレンダリングされず、コンソールに次の警告が表示されchildrenますprops.dangerouslySetInnerHTML。エラーとページの両方のスクリーンショットが添付されています。 ここに画像の説明を入力ここに画像の説明を入力

AdminError コンポーネントを次のように変更しようとしましたが、うまくいきませんでした:

riskySetInnerHTML を返す行にデバッグ ポイントを設定すると、@props.errorTextas "email is invalid"の値とmarked(@props.errorText.toString())as " の値が正しく取得されます。

メールが無効です

「..しかし、それでもエラーのヘルプブロックはまったくレンダリングされません。

更新: AdminError コンポーネントで次の変更を行いました

app/assets/javascripts/components/adminerror.js.coffee

Admin コンポーネントで、adminform メソッドに次の変更を加えました。

警告が表示されなくなりましたが、代わりに次のエラーが表示されます。

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

javascript - React on Rails: Jsx と Coffeescritpt は @props を表示します

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

@propsとを使用Jsxして表示するにはどうすればよいCoffeeScriptですか?

私のファイルrecords.js.jsx.coffeeには、レコードの日付とタイトルを表示する次のコードがあります。

私が受け取っているエラーはSyntaxError: unknown: Unexpected token (5:11)

バックティックを使用してコードをエスケープできることを望んでいました `

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

javascript - JS を使用して React コンポーネントを手動でマウント/レンダリングする

kaminari gem で react-rails を使用しようとしています。以下のコードは、ページネーションを使用して管理者ページを作成する役割を果たします。ページネーションはカミナリ メソッドです。

remote=true でリクエストを発行すると、この全体が再描画され、次のコードによってレスポンスが生成されます。

ajax リクエストの後、レスポンスが正しく生成され、次のように ReactComponent もページの HTML に作成されます。

しかし問題は、コンポーネントがレンダリング/マウントされていないことです。コンソールからコンポーネントを手動でマウントしようとしましたが、正しく行ったかどうかはわかりません。

さらに、クロムの反応拡張機能は、次のページのリクエストが発生した後、管理コンポーネントの以前の状態を表示します。 ここに画像の説明を入力

目的は、ページネーション リンクをクリックして、以下の赤いボックスの html を置き換えることです。ここに画像の説明を入力

ページネーション リンクをクリックする前後にコンソールで Admin.prototype を実行すると、次の出力が得られます。 ここに画像の説明を入力

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

ruby-on-rails - React-Rails API ポーリング

私は React を初めて使用します。React をスタンドアロン サービスとして使用する方法に関する公式の React チュートリアルを読み、Rails アプリで react-rails gem を使用する方法に関するこのチュートリアルを読み終えました。まさに私が必要とするものになるために。私が直面している問題は、小さな React ページにある種の単純な API ポーリングを実装する必要があることですが、react-rails でこれを最適に実装する方法に関するドキュメントがどこにも見つからないようです。

反応チュートリアル中にpollinterval = 2000、データ ソースを宣言するときに使用して、2000 ミリ秒ごとにソースをポーリングするように指示されます。これを次のように実装しようとしましたが、役に立ちませんでした。

残念ながら、ページをロードすると、実際にはコンテンツが表示されないだけでなく、データベースにまったくクエリを実行していないように見えます。これは、これがAJAX呼び出し/ポーリング間隔の設定に適切な場所ではないと私に信じさせますが、私のグーグルでは何も特に役に立ちませんでした.

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

javascript - html 内の無効な要素に対して onMouseOut を有効にします

反応レールでは、要素が無効になっていない場合にのみ onMouseOut イベントが機能します。

render メソッドのコードは次のとおりです。

呼び出される対応するメソッドを以下に示します。

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

javascript - Coffeescript: ブール値によって管理される条件付きクラス名を追加します

これを使用して、反応の要素にクラス名を追加しようとしています:

しかし、これはclass="btn btn-primary true"

このコーヒー コードは、次のように正しくない JS にコンパイルされます。

コーヒーでこれを行う正しい構文は何ですか?