2017-07-02 34 views
0

我使用的是RailswebpackerreactRails - React组件在第二页加载时不会被安装

我加载我的部件,如这在我的视图文件:

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

mycomponent,我有:

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

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

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

+0

为什么你需要这个? 'DOMContentLoaded' –

+0

将组件挂载到'DOMContentLoaded'。 – resting

+0

是的,但不会因为你正在执行容器元素后的js –

回答

0

因此turbolinks正在做一些优化背后。

认识到铬检查器中的url在我换页时保持不变。

页从app/assets/javascript/application.js除去//= require turbolinks后完全加载

看到有人指着jquery.turbolinksonload问题turbolink。虽然没有测试过。

相关问题