我有一个用于验证的对象,可能如下所示:
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) 假设我有一个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 ×2
async-await ×1
asynchronous ×1
ecmascript-6 ×1
forms ×1
object ×1
reactjs ×1
validation ×1
yup ×1