react-native - 在 React Native 中搜索响应数据的最佳方式?
问题描述
我有一个使用 React Native 构建的内部应用程序。我对 React Native 还是很陌生,并试图找出最有效的方法。
我有这些代码从我们的 LDAP 服务器中获取数据并将其分配给钩子。
.then((response) => {
setName(response.data.ldap_users[0].realname);
setPosition(response.data.ldap_users[0].position);
setPhone(response.data.ldap_users[0].phone);
setEmail(response.data.ldap_users[0].email_address);
setUsername(response.data.ldap_users[0].username);
setRealName(response.data.ldap_users[0].real_name);
setRoom(response.data.ldap_users[0].room);
setIsSending(false);
return data;
我们所有的用户都有以 A、B 或 C 开头的用户名,例如 A67345 或 B45437 等。
但是,我们提升的帐户有 D 和 E 之类的字母,有时在数组中它们最终位于 0 槽中。我需要避免这种情况。
例如,Billy 有 2 个帐户,他的主帐户的用户名是 A5555,他的提升帐户用户名是 D6629。在对用户名的响应中,他的 D6629 可能位于插槽 0 中,而我需要的 A 帐户位于插槽 1 中,这使得上面的代码毫无用处。
我不太熟悉 React Native 如何循环并找到从该变量开始并获取该变量。
最好的方法是什么?
任何其他语言我都会使用一个 for each loop 来寻找一个 startsWith("A")
谢谢!
解决方案
你需要if
像这样检查。
if(response.data.ldap_users[0].username.charAt(0).toUpperCase() === 'A' || other conditions){
// push your data here
}
你可以使用foreach
循环
response.data.ldap_users[0].foreach((user) => {
if(user.username.charAt(0).toUpperCase() === 'A' ||charAt(0).toUpperCase() === 'B' ||charAt(0).toUpperCase() === 'C'){
// add user user to the array here
}else{
// ignore
}
})
推荐阅读
- ios - CAShapeLayer 蒙版不显示
- html - CSS - 可见性:可见;菜单栏在导航栏折叠之前可见
- android - Firestore 安全规则:“request.auth.uid”在 Android 请求中为空
- reactjs - 如何为 dangerousSetHtml 添加事件?
- google-chrome - 在 Chrome 的检查器 iPad 视图中查看我的网站不起作用?
- java - 用于机器初始化的多维 java 数组列表
- go - Go + GoLand 在其他文件中调用函数
- arrays - 淘汰赛有条件地将项目添加到数组中
- java - 无法从 ArrayList 中删除字符串
- javascript - 同步两个 MDC 抽屉