教程 > recoil.js > 阅读:101

userecoilvalueloadable(state)——迹忆客-ag捕鱼王app官网

userecoilvalueloadable(state) 用来读取异步 selector 的值。使用此 hook 会使组件隐式地订阅给定的 state。

userecoilvalue() 不同,当此 hook 从异步 selector(为了和 react suspense 一起工作)读取数据时,不会抛出 error 或 promise,它会返回一个 对象。

function userecoilvalueloadable(state: recoilvalue): loadable
  • state:一个 atom 或一个 可能 有一些异步操作的 selector 。给定 selector 的状态决定了返回的 loadable 的状态。

返回一个具有以下接口的 loadable

  • state :表示 selector 的状态。可选的值有 'hasvalue','haserror','loading'。
  • contents :此值代表 loadable 的结果。如果状态为 hasvalue,则值为实际结果;如果状态为 haserror,则会抛出一个错误对象;如果状态为 loading,则值为 promise。

示例

function userinfo({userid}) {
  const usernameloadable = userecoilvalueloadable(usernamequery(userid));
  switch (usernameloadable.state) {
    case 'hasvalue':
      return 
{usernameloadable.contents}
; case 'loading': return
loading...
; case 'haserror': throw usernameloadable.contents; } }

查看笔记

扫码一下
查看教程更方便
网站地图