我使用 rails new exampleapp --webpack=react
创建了一个新的 Rails + React 应用程序.在我的主页上,我在 html.erb
中有一个标题,还有一些使用 <%= javascript_pack_tag 'reactfilename' %>
渲染的 React jsx .
当我点击主页链接时,例如 <li><%= link_to "Home", root_path %></li>
,仅呈现标题。只有在我重新加载页面时才会显示我的 react 组件。
我同时运行 rails s
和 ./bin/webpack-dev-server
开始我的申请。我的 Heroku Web 服务器上也出现了同样的问题。其中我有以下设置:
文件:
web: bin/rails server -p $PORT -b 0.0.0.0
Procfile.dev:
web: ./bin/rails server
webpacker: ./bin/webpack-dev-server
这是 React + Rails 应用程序的预期行为,还是我的配置存在问题?
最佳答案
我认为这个问题与 turbolinks 后台优化有关。一种解决方法是通过将 turbolinks 设置为 false 来完全刷新页面:
<%= link_to "Home", root_path, data: { turbolinks: false } %>
使用较新版本的 turbolinks:
<%= link_to "Home", root_path, data: { turbo: false } %>
关于ruby-on-rails - Rails + React 应用程序页面需要重新加载才能呈现 React,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60424351/