Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function useFriendStatus(friendID) {
- const [isOnline, setIsOnline] = useState(null);
- useEffect(() => {
- function handleStatusChange(status) {
- setIsOnline(status.isOnline);
- }
- ChatAPI.subscribeToFriendStatus(friendID, handleStatusChange);
- return () => {
- ChatAPI.unsubscribeFromFriendStatus(friendID, handleStatusChange);
- };
- });
- return isOnline;
- }
- function FriendStatus(props) {
- const isOnline = useFriendStatus(props.friend.id);
- if (isOnline === null) {
- return 'Loading...';
- }
- return isOnline ? 'Online' : 'Offline';
- }
- function FriendListItem(props) {
- const isOnline = useFriendStatus(props.friend.id);
- return (
- <li style={{ color: isOnline ? 'green' : 'black' }}>
- {props.friend.name}
- </li>
- );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement