問題タブ [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.
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:precompile
public/assets フォルダーを削除した後に使用してプリコンパイルします。- と の両方
rails s
でローカルに動作しますforeman start
- ブーストラップスプロケットを使用しています。削除されても、この問題は解決しません。
npm の依存関係は次のとおりです。
これが私たちのGemfileです
どうぞよろしくお願いいたします。
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
:
このアプリのサーバー側をレンダリングするにはどうすればよいですか? これはこれを行う正しい方法ですか?
ruby-on-rails-4 - 警告: 入力は void 要素タグであり、`children` を持つことも、`props.dangerouslySetInnerHTML` を使用することもできません。null の render メソッドを確認する
フォーム URL への ajax 呼び出しが失敗した場合、フォームにエラーを表示しようとしています。以下は私のAdmin
コンポーネントです:
対応AdminError
するコンポーネントは次のとおりです。
デバッグ中に、「電子メールが無効です」という @props.errorText の正しい値を取得しています。しかし、ページにレンダリングされず、コンソールに次の警告が表示されchildren
ますprops.dangerouslySetInnerHTML
。エラーとページの両方のスクリーンショットが添付されています。
AdminError コンポーネントを次のように変更しようとしましたが、うまくいきませんでした:
riskySetInnerHTML を返す行にデバッグ ポイントを設定すると、@props.errorText
as "email is invalid"の値とmarked(@props.errorText.toString())
as " の値が正しく取得されます。
メールが無効です
「..しかし、それでもエラーのヘルプブロックはまったくレンダリングされません。更新: AdminError コンポーネントで次の変更を行いました
app/assets/javascripts/components/adminerror.js.coffee
Admin コンポーネントで、adminform メソッドに次の変更を加えました。
警告が表示されなくなりましたが、代わりに次のエラーが表示されます。
javascript - React on Rails: Jsx と Coffeescritpt は @props を表示します
私はReactに非常に慣れていません。
@props
とを使用Jsx
して表示するにはどうすればよいCoffeeScript
ですか?
私のファイルrecords.js.jsx.coffee
には、レコードの日付とタイトルを表示する次のコードがあります。
私が受け取っているエラーはSyntaxError: unknown: Unexpected token (5:11)
バックティックを使用してコードをエスケープできることを望んでいました `
javascript - JS を使用して React コンポーネントを手動でマウント/レンダリングする
kaminari gem で react-rails を使用しようとしています。以下のコードは、ページネーションを使用して管理者ページを作成する役割を果たします。ページネーションはカミナリ メソッドです。
remote=true でリクエストを発行すると、この全体が再描画され、次のコードによってレスポンスが生成されます。
ajax リクエストの後、レスポンスが正しく生成され、次のように ReactComponent もページの HTML に作成されます。
しかし問題は、コンポーネントがレンダリング/マウントされていないことです。コンソールからコンポーネントを手動でマウントしようとしましたが、正しく行ったかどうかはわかりません。
さらに、クロムの反応拡張機能は、次のページのリクエストが発生した後、管理コンポーネントの以前の状態を表示します。
目的は、ページネーション リンクをクリックして、以下の赤いボックスの html を置き換えることです。
ページネーション リンクをクリックする前後にコンソールで Admin.prototype を実行すると、次の出力が得られます。
ruby-on-rails - React-Rails API ポーリング
私は React を初めて使用します。React をスタンドアロン サービスとして使用する方法に関する公式の React チュートリアルを読み、Rails アプリで react-rails gem を使用する方法に関するこのチュートリアルを読み終えました。まさに私が必要とするものになるために。私が直面している問題は、小さな React ページにある種の単純な API ポーリングを実装する必要があることですが、react-rails でこれを最適に実装する方法に関するドキュメントがどこにも見つからないようです。
反応チュートリアル中にpollinterval = 2000
、データ ソースを宣言するときに使用して、2000 ミリ秒ごとにソースをポーリングするように指示されます。これを次のように実装しようとしましたが、役に立ちませんでした。
残念ながら、ページをロードすると、実際にはコンテンツが表示されないだけでなく、データベースにまったくクエリを実行していないように見えます。これは、これがAJAX呼び出し/ポーリング間隔の設定に適切な場所ではないと私に信じさせますが、私のグーグルでは何も特に役に立ちませんでした.
javascript - html 内の無効な要素に対して onMouseOut を有効にします
反応レールでは、要素が無効になっていない場合にのみ onMouseOut イベントが機能します。
render メソッドのコードは次のとおりです。
呼び出される対応するメソッドを以下に示します。
javascript - Coffeescript: ブール値によって管理される条件付きクラス名を追加します
これを使用して、反応の要素にクラス名を追加しようとしています:
しかし、これはclass="btn btn-primary true"
このコーヒー コードは、次のように正しくない JS にコンパイルされます。
コーヒーでこれを行う正しい構文は何ですか?