0%

suspense

“等待”目标代码加载,并且可以直接指定一个加载的界面(像是个 spinner),让它在用户等待的时候显示

以声明的方式来“等待”任何内容,包括数据

在编写组件的时候更加关注于获取数据和展示数据,关注点不应该放在如何获取数据以及处理数据的异常状态。suspense组件可以帮助我们更好的管理数据到UI。

通常一个组件like this

1
2
3
4
5
6
7
8
9
function List ({pageId}) {
const [items, isLoading] = useData(pageId);

if (isLoading) {
return <Spinner />
}

return items[pageId].map(item => <li>{item}</li>)
}
Read more »

由于项目的业务需求,需要将原生的项目向React Native重构。原生的Android和iOS项目处于正常迭代的情况,React Native的重构版本已经初步完成一个基础版本,现在需要在这个基础版本上,进行原生端的接入工作。目标是在原生项目里的某几个页面,替换为React Native页面。

以下是记录本次接入遇到的问题

Read more »

前几天React-Native版本升级到了0.64,最近闲的没事积极响应最新版本(我不踩坑谁踩坑)

新版本主要的功能如下:

  • Hermes引擎可以在iOS上使用了
  • 默认支持组件的懒加载
  • React版本升级到17
Read more »

最近在写一个基于react-native的Mastodon客户端。里面有一个关注用户的按钮,这里来记录一下自己是如何一步步修改并完善这个按钮的功能的。

需求分析

这是一个和Twitter里类似的关注按钮,通过点击来关注取关对方。在发起点击动作后,需要根据当前与对方的关系,来确定到底是发起关注该用户的请求、还是取关该用户的请求。那么可以确定的需求如下:

  • 根据与对方用户的关系,按钮应该显示不一样的状态
  • 根据与对方用户的关系,点击按钮应该发起不一样的请求
Read more »

堆一般来说指的是二叉堆,在 二叉堆中每个元素都要保证大于(小于)等于子节点的元素。当一棵二叉堆的每个节点都符合这个条件时,它的根节点即这个二叉堆的最大值(最小值)

使用数组来存储一棵二叉堆,由于它是一颗完全二叉树。根据数组以及完全二叉树的特点,我们可以通过计算数组的索引在树中上下移动:从a[k]向上一层移动就令k等于k/2,向下一层移动则令k等于2k或者2k+1。利用这种数据结构我们可以实现对数级别插入元素删除最大元素的操作。

Read more »

单向链表

单向链表是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过从头部开始,依序往下读取。

一个单向链表的节点被分成两个部分。第一个部分保存或者显示关于节点的信息,第二个部分存储下一个节点的地址,单向链表只可向一个方向遍历。

Read more »

近期需要上架一款企业内部员工使用的app,通过正常的上架流程会得到Apple审核团队的拒绝,并推荐我使用Apple Business Manager方式上架改应用。之前从来没听过这个上架方式,现在记录一下使用Apple Business Manager上架的全流程

Read more »