#javascript #reactjs
Вопрос:
Я пытаюсь создать функцию, которая сделает пользователя, пытающегося попасть на страницу команды, когда он не в этой команде.
Вот мой следующий код:
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 команды, но не эта команда, поэтому они не могут попасть на эту страницу команды
Ответ №1:
Все, что вам нужно сделать, это проверить, есть ли Teams
team
совпадение teamProfileId
, а затем разрешить им доступ, если нет.
Вы можете проверить это с помощью метода Array.some ().
if (res.data.Teams.some(team => team.public_team_id !== teamProfileId)) {
router.push("/profile");
}
Он вернется true
, если условие пройдет, то есть не будет совпадения teamProfileId
; иначе вернется false
.