React请求机制优化思路
来源 | OSCHINA 社区
作者 | 京东云开发者-京东零售 粱峰峰
原文链接:https://my.oschina.net/u/4090830/blog/10098333
// html头部引入request.js
<script async src="/js/request.js"></script>
在发送完请求之后,需要将返回的数据注入到 React 组件中,这部分怎么注入呢?简单的代码示例如下:
// request.js 中请求部分 evt是发布订阅模式的一个实例
window.InitData = {
data: null,
on: (msg, fn)=> evt.on(msg, e => fn(e)),
emit: (msg, data)=> evt.emit(msg, data),
};
fetch().then(rs => {
InitData.data = rs;
InitData.emit("init_data", rs);
return rs;
});
// index.js react代码逻辑
…….
useEffect(()=> {
if (InitData.data !== null) {
// 这里已经获取到了请求的返回值
doSomething();
} else {
InitData.on("init_data", (data)=> {
// 利用发布订阅模式获取到数据
doSomething();
});
}
}, []);
…….
Suspense 处理更
多的场景,包括获取数据等等,在新发布的 React18 中 Suspense 也是支持了服务端渲染,包括近期开源的 remix 也都在优化请求机制能够让应用更快的加载。也欢迎有兴趣的小伙伴一起来讨论和实践。往期推荐
点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦
微信扫码关注该文公众号作者
戳这里提交新闻线索和高质量文章给我们。
来源: qq
点击查看作者最近其他文章