問題タブ [react-on-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.
jquery - レール上の非反応JavaScriptでjqueryを使用するには?
最近、react_on_rails (NOT react-rails
) Gem を Rails 4.2 コードベースに組み込みました。
すでにかなりの量の JavaScript コードがあるアプリに、新しい反応コンポーネントを導入したいと考えています。
React on Railsの「hello world」ジェネレーターを実行しました。これは、とりわけ、//= require jquery
私の行をコメントアウトしたものでした。しかし、新しく生成された demo react コンポーネントは機能します。application.js
jquery
hello world
my から追加された行を//= require vendor-bundle
コメントアウトし、その行に追加し直すと、逆のことが起こり、反応コンポーネントは機能しなくなりますが、既存の coffeescript は再び機能します。//= require app-bundle
application.js
//= require jquery
私の質問は、両方が機能するように設定するにはどうすればよいですか? つまり、新しい反応コンポーネントが機能し、既存の coffeescript (jquery に依存する) も同様に機能します。
前もって感謝します!
react-rails - react_on_rails を使用して、ReactRailsUJS.mountComponents に似たコンポーネントを再マウントするにはどうすればよいですか?
React Rails プロジェクトで、react-rails gem から react_on_rails に変換しました。無限スクロールで表示される一部のコンポーネントは、 でスクロールすると再マウントされReactRailsUJS.mountComponents
ます。react_on_rails を使用して、この方法でコンポーネントを再マウントするにはどうすればよいですか
ruby-on-rails - react-on-rails アプリケーションを本番環境にデプロイする際のエラー
実稼働環境 (Ubuntu 14.04.3 LTS) に nam とノードをインストールし、gem react-on-rails を使用して Redux / ReactJS を実装する Rails アプリをデプロイしようとしています。開発環境では問題なく動作していますが、ここで壁にぶつかっているように感じます。
npm run build:production ("build:production": "NODE_ENV=production webpack --config webpack.config.js") を実行すると問題が発生します。
展開中のログは次のとおりです。
webpack.config.js ファイルは次のとおりです。
私のpackage.jsonで更新
何が間違っているのか、何か考えはありますか?実稼働環境でノード v4.6.0 を使用していることに気付きましたが、レールに反応するには少なくともノード 5 が必要です。おそらく私の問題はそこにあります..
Rails プロジェクトの app/assets フォルダーの下に web pack-bundle.js ファイルがあります。したがって、ファイルは欠落していません
redux - 子コンポーネントは再レンダリングされますが、親コンポーネントは再レンダリングされません
2 つの components があり、それぞれがコンテナーを介して接続されており、両方とも提供された状態を介してマップされた props を持っています。
子コンポーネントが再レンダリングされ、親コンポーネントが再レンダリングされないアクションが 1 つあります。これがどのように可能かわかりません。
レデューサーが状態を変更していないことは確かです。このアクションと再レンダリングの不一致の結果、子コンポーネントの prop が未定義になります (状態から正常に削除されたため)。しかし、親のレンダリング関数が期待どおりに再実行される場合、そのレンダリング関数は実行されません。
状態が変化したときに親コンポーネントの render 関数が呼び出されないのはなぜですか?
ruby-on-rails - ReactがNoMethodErrorを取得するRuby on Rails
以下は、コントローラーの Projects#show メソッドです。
以下は私の Projects#show ビュー html.erb ファイルです。
以下は私の反応フロントエンドです
私が得るエラーメッセージは次のとおりです。
ActiveRecord で 500 内部サーバー エラーを完了しました。
NoMethodError (未定義のメソッド ` ' for ProjectsController#show:0x007fa195b59da0
2016-11-24 06:31:38 -0800 で 127.0.0.1 の GET "/projects/1" を開始しました ProjectsController#show as HTML パラメーターによる処理: {"id"=>"1"} ユーザー ロード (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT 1 [["id", 2]]
Project Load (0.1ms) SELECT "projects".* FROM "projects" WHERE "projects"."id" = ? LIMIT 1 [["id", 1]] ユーザー負荷 (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 1]]
(0.1ms) SELECT "relationships"."supervisor_id" FROM "relationships" WHERE (supervisor_id = 1) ユーザー負荷 (0.NoMethodError (undefined method ' ' for#): app/controllers/projects_controller.rb:11:in `show'
レンダリングされた /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_source.erb (2.7ms)レンダリングされた /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1 ms) レンダリング /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (2.0ms) レンダリング /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/diagnostics.htmlレスキュー/レイアウト内の .erb (19.6ms) レンダリング /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates /_markup.html.erb (0.2ms) /home/ferg/ をレンダリング。rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/_inner_console_markup.html.erb within layouts/inlined_string (0.2ms) レンダリング /home /ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/_prompt_box_markup.html.erb 内の layouts/inlined_string (0.3ms) ) レンダリング /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/style.css.erb 内のレイアウト/ inlined_string (0.4ms) レンダリングされた /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/console.js。 layouts/javascript 内の erb (22.3ms) レンダリング /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/ layouts/javascript 内の main.js.erb (0.2ms) レイアウト内で /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/error_page.js.erb をレンダリング/javascript (0.2ms) レンダリング /home/ferg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/web-console-2.3.0/lib/web_console/templates/index.html .erb (34.9ms)
npm - NPM を NVM 経由でインストールすると、カピストラーノのデプロイが react_on_rails で失敗する
失敗したコマンドcd client && npm run build:production
はhttps://github.com/shakacode/react_on_rails/blob/master/lib/tasks/assets.rakeからのものです
使用する場合は、これらの内容で作成し、ルート Rails アプリで実行するcapistrano-npm
ためcapistrano-nvm
に使用します。ただし、React クライアントのコマンドを実行するためには使用されません。 /tmp/my_app_name/nvm-exec.sh
npm install
package.json
出力は次のとおりです。
ここに私の依存関係があります: