如何在react中从数据库中获取所有用户的同时删除当前用户?

问题描述 投票:0回答:1

如何使用三元运算符 ( ? true : false ) 或其他操作从该列表中删除当前登录的用户?

    const [users,setUsers] = useState("");

    useEffect(() => {
        axios.get("http://localhost:3000/api/v1/user/bulk?filter=" + filter)
            .then(response => {
                setUsers(response.data.user)
            })
    }, [filter])
    
    // Then using it like this, to get all the users data.

    {users.map(user => <User key={user._id} user={user} />)}

我尝试过使用这个,但是在分离用户方面。我没听懂

javascript reactjs authentication authorization mapping
1个回答
0
投票

  const [users, setUsers] = useState([]);
  
  const loggedInUserId = "someUserId"; // Replace this with the actual logged-in user ID
  

  useEffect(() => {
    // Fetching users from API
    axios.get("http://localhost:3000/api/v1/user/bulk?filter=" + filter)
      .then(response => {
        // Filter out the logged-in user from the response data
        const filteredUsers = response.data.user.filter(user => user._id !== loggedInUserId);
        setUsers(filteredUsers); // Update the state with filtered users
      })
      .catch(error => {
        console.error("Error fetching users:", error);
      });
  }, [filter, loggedInUserId]); // Depend on 'filter' and 'loggedInUserId' for re-fetching

  return (
    <div>
      {/* Render users after filtering out the logged-in user */}
      {users.map(user => (
        <div key={user._id}>
          <h3>{user.name}</h3>
          {/* Add any other user data you'd like to display */}
        </div>
      ))}
    </div>
  );
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/18.3.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.3.1/umd/react-dom.production.min.js"></script>

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.