ruby-on-rails - Rails + React 应用程序页面需要重新加载才能呈现 React

标签 ruby-on-rails reactjs rendering reload webpacker

我使用 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/

相关文章:

ruby-on-rails - 在 Rails 上重新定位或取消范围包含数组条件的查询

javascript - import {} from '.' 的作用是什么?

3d - 命令行/终端 3D 渲染

mysql - 当数据库不可用时,延迟的工作人员退出

ruby-on-rails - Omniauth-facebook 与设计 : "Missing passthru" errors

ruby-on-rails - HTTParty 在查询字符串中向 % 添加 25

c++ - Opengl sws_scale 不工作(段错误)

javascript - 为什么 react.js 不能识别自己的 node.js 模块?

javascript - ReactJS - 子组件中的 Ajax

html - 在 Mac 上图像之间显示空白,但在 PC 上不显示