React路由器每次加载数据

时间:2016-05-24 04:38:47

标签: javascript angularjs ajax reactjs

我是使用React和React Router的新手。

主页(主页组件)通过ajax请求将数据加载到显示数据的服务器。

然后人们可以使用react路由器在应用程序中导航。但是当有人回到主页(主页组件)时,再次向服务器发出ajax调用,这是不必要的。

所以基本上当你每次加载组件时使用react路由器在组件内导航时,每次都会进行ajax调用。

我们可以采取哪些措施来缓存数据,例如在Angular中,我们不必在加载组件时一次又一次地进行ajax调用。

由于

<script>
    $(document).ready(function(){  
    $('#ok').click(function(){  
         $.ajax({  
             url:'http://127.0.0.1:9000/api',  
             type:'post',  
             dataType: 'Json',
             data: JSON.stringify({one:1.2,two:23.4,three:45.4}),
             success: function(data) {  
                 $('#name').val(data.output);     
             }
         });  
      });  
    }); 
</script>

1 个答案:

答案 0 :(得分:0)

您可能希望将所有状态存储在最顶层的应用程序组件中,该组件应仅在重新加载页面时重新装入。这样,状态可以留在那里,并传递给子组件。

如果它是一个更大的项目,您可以考虑使用状态管理系统和React,如redux

另一个想法是将你的ajax函数移到他们自己的模块中,然后导入到你的组件中。然后,您可以在ajax模块中放置一些缓存,远离组件。