我是使用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>
答案 0 :(得分:0)
您可能希望将所有状态存储在最顶层的应用程序组件中,该组件应仅在重新加载页面时重新装入。这样,状态可以留在那里,并传递给子组件。
如果它是一个更大的项目,您可以考虑使用状态管理系统和React,如redux。
另一个想法是将你的ajax函数移到他们自己的模块中,然后导入到你的组件中。然后,您可以在ajax模块中放置一些缓存,远离组件。