笔记-3

循环异步处理

1
2
3
4
5
6
7
8
9
10
const promises = data.map(async item => {
const res = await fetchLogisticsI({
expressNo: item.expressNo,
});
if (res.success) {
expressList.push(res.results);
}
});

await Promise.all(promises);

https://zhuanlan.zhihu.com/p/31000936

英语学习总结

react router 切换路由不刷新

最近遇到一问题,从一个列表页进入详情页,希望再从详情页返回列表页的时候列表页不要刷新,即不再走Mount阶段,组件不要被销毁,因为进入详情页面再返回的操作并不会导致列表数据的更新,而且该列表数据比较复杂,状态较多,渲染成本和数据回显成本较大。查询后发现,路由的切换一定会导致该路由下的组件 unmount。最后处理方式是将数据都放在 redux 里保存,返回后重新渲染。希望有更好的方式。

html 中的层叠关系

html 会遇到需要控制元素显示层级的时候,例如悬浮的按钮,下拉弹窗等。如果需要判断两个元素的层级高低,先判断这些元素是否在同一个 层叠上下文 ,如果在,则判断 层叠顺序 ,如果不在,则判断各自所处的层叠上下文的 层叠顺序

产生层叠上下文(部分):

  • position: absolute | relative; z-index: 非 auto;
  • position: fixed | sticky;
  • display: flex | inline-flex; z-index: 非 auto;

层叠顺序:正 z-index > z-index: 0 > inline-block > float > block > 负 z-index > background 和 border

详细讲解见参考链接 https://juejin.im/post/5ba4efe36fb9a05cf52ac192

react 设计模式与最佳实践

发现一本还不错的 react 相关的书,《React 设计模式与最佳实践》,第一版是18年8月份的,比较新,目测适合入门和巩固 React 开发的人,更加全面的了解 React 的开发,应该不涉及到源码解读等。后续打算整理成一篇博文,记录一下重点。

用 Vultr 搭建 shadowsocks

最近看到 vultr 服务器提供商有新注册送25美元的活动,打算在此mark一下。

对于程序员来说怎么能不翻墙呢。个人翻墙最方便的方式是用 shadowsocks,不过需要专门的海外服务器搭建shadowsocks服务端。目前流行两种方案:

  • 购买别人搭建好了的服务,与别人共享一台服务器和带宽,这种方式省事,便宜。
  • 自己购买 vps,搭建 shadowsocks服务。

对于开发者来说,建议后者,搭建服务并不难,有教程,在此提供一个不错的教程,自己搭建的服务器比较放心,安全,而且可以做些其他的用途,放些网站等。Vultr 我用了很久,比较稳定,最近有新用户充 $10 送 $25 的活动,值得下手,最便宜的 $2.5 / 月