Rails + React 应用程序页面需要重新加载才能渲染 React

I_A*_*I_A 3 rendering ruby-on-rails reload reactjs webpacker

我使用创建了一个新的 Rails + React 应用程序rails new exampleapp --webpack=react。在我的主页上,我有一个 header html.erb,并且一些 React jsx 使用<%= javascript_pack_tag 'reactfilename' %>.

当我单击主页链接(例如 )时<li><%= link_to "Home", root_path %></li>,仅呈现标题。只有在我重新加载页面时才会显示我的反应组件。

我正在运行两者rails s./bin/webpack-dev-server启动我的应用程序。我的 Heroku Web 服务器上也出现同样的问题。其中我有以下设置:

过程文件: web: bin/rails server -p $PORT -b 0.0.0.0

过程文件.dev: web: ./bin/rails server webpacker: ./bin/webpack-dev-server

这是 React + Rails 应用程序的预期行为,还是我的配置有问题?

Ibr*_*med 6

我认为这个问题与turbolinks后台优化有关。一种解决方法是将 Turbolinks 设置为 false 来完全刷新页面:

<%= link_to "Home", root_path, data: { turbolinks: false } %>
Run Code Online (Sandbox Code Playgroud)

使用较新版本的 Turbolinks:

<%= link_to "Home", root_path, data: { turbo: false } %>
Run Code Online (Sandbox Code Playgroud)