小编Tan*_*cia的帖子

是的,使用对象中的动态键进行验证

我有一个用于验证的对象,可能如下所示:

const exampleObject = {
  foo: {
    entries: {
      '785bac64-c6ce-4878-bfb8-9cf5b32e2438': {
        name: 'First object',
      },
      '117450da-315b-4676-ad23-edd94a4b6b51': {
        name: 'Second object',
      },
    },
  },
}
Run Code Online (Sandbox Code Playgroud)

对象的键entries是动态的(uuid)。我想验证name任何这些对象中的属性不是空字符串。不过,entries不是必须的,只是要求如果有条目的话,不能包含空字符串。我怎样才能用 Yup 做到这一点?

const exampleObjectValidation = Yup.object().shape({
  foo: Yup.object({
    entries: Yup.object({
      /* what goes here ? */
   })
  })
})
Run Code Online (Sandbox Code Playgroud)

javascript forms validation object yup

7
推荐指数
1
解决办法
8726
查看次数

如何链接async/await使用依赖于第一次调用的数据

假设我有一个async/await,它调用一个提取所有用户的API.

async function getUsers() {
  const users = await Api.getAllUsers()

  return users.map(user => {
    return {
      id: user.id,
      group: 'data depends on subsequent API call',
    }
  })
}
Run Code Online (Sandbox Code Playgroud)

在返回映射中,我必须进行另一个API调用以获取应该在同一范围内的一些数据.

const groupByUser = Api.getGroupByUserId()
Run Code Online (Sandbox Code Playgroud)

我该如何做到这一点?我可以在现有的async/await中添加async/await吗?我是否创建了一个包含所有用户ID的数组,并以某种方式映射了该数据?我有点迷失在下一步去哪里,任何输入都会受到赞赏.

// getUsers() passed into componentDidMount() wrapper
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous async-await ecmascript-6 reactjs

5
推荐指数
1
解决办法
610
查看次数