如何解决如何检查id是否等于用户的id并在react js中有条件地显示按钮?
大家好,我是新手,目前正在尝试根据条件显示 2 个按钮。我需要检查用户是否存在于具有用户 id 的数组中并显示相应的按钮。
这是我收到的 json 响应。
(2) [{…},{…}]
0: {id: 8,username: "testuser5"}
1: {id: 4,username: "testuser2"}
length: 2
__proto__: Array(0)
这是我的代码。
const [pending,setPending] = useState([]);
const pendingfun = async function pendingInfo() {
await axiosInstance.get(url).then((res) => {
const pending = res.data;
setPending(pending)
// console.log(pending)
})
}
pending.forEach(x => x.id === user.id) ?
<Button variant="outlined" color="primary" disableElevation
>
Save
</Button>
: <Button variant="outlined" color="primary" disableElevation>
Cancel
</Button>
问题是当我运行它时,屏幕上没有显示任何按钮。有人可以帮忙吗?
谢谢
解决方法
forEach 不返回任何内容,只对数组进行迭代。您应该使用 find 来返回正确的按钮:
pending.find(x => (x.id !== user.id)) ?
<Button variant="outlined" color="primary" disableElevation
>
Save
</Button>
: <Button variant="outlined" color="primary" disableElevation>
Cancel
</Button>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。