0

我正在使用Railswith webpackerreact

我在我的视图文件中加载这样的组件:

<div id="mycomponent"></div>
<%= javascript_pack_tag 'components/mycomponent' %>

mycomponent中,我有:

document.addEventListener('DOMContentLoaded', () => {
  ReactDOM.render(
    <MyComponent />,
    document.getElementById('mycomponent'),
  )
})

因此,在初始页面加载时,mycomponent已安装。
但是当我访问另一个页面时,回击或单击仪表板的链接(在这种情况下),组件不会加载。必须点击刷新才能加载它。

我认为这与一些Rails正在使用的缓存技术有关吗?
如何让组件在每个请求上加载

4

1 回答 1

0

所以turbolinks在后面做了一些优化。

意识到url当我更改页面时,in chrome 检查器保持不变。

从中删除后,页面已完全加载。//= require turbolinksapp/assets/javascript/application.js

看到一些人指向jquery.turbolinksonload问题turbolink。虽然没有测试。

于 2017-07-02T10:59:50.953 回答