如果用户不在nextjs中的团队中,如何重定向到另一个页面



我正试图创建一个函数,让那些试图进入团队页面的用户在不在该团队时进入该页面。

这是我的以下代码:

const [user, setUser] = useState({});
const fetchCurrentUser = () => {
axios
.get(`/api/v1/profiles/profile/${serverUserData.publicId}`)
.then((res) => {
setUser(res.data);
if (
res.data.Teams.length <= 0
// ||
// res.data.Teams.map((team) => team.public_team_id !== teamProfileId)
) {
router.push("/profile");
}
})
.catch((err) => {
throw new Error(err);
});
};

所以我正在努力实现res.data.Teams.map((team) => team.public_team_id !== teamProfileId

例如:如果该用户有3-4个团队,但没有这个团队,那么他们就无法进入这个团队页面

您所要做的就是检查Teams是否有与teamProfileId匹配的team,然后让它们访问其他的。

您可以使用Array.some((方法进行检查。

if (res.data.Teams.some(team => team.public_team_id !== teamProfileId)) {
router.push("/profile");
}

如果条件通过,则返回true,即没有匹配的teamProfileId;否则返回CCD_ 7。

最新更新