This method allows you to observe data about the logged-in user, including live updates.
React:
import { user } from '@cord-sdk/react';
const data = user.useViewerData();
return (
<div>
{!data && "Loading..."}
{data && (
<p>User name: {data.name}</p>
<p>User short name: {data.shortName}</p>
<p>User profile picture: <img src={data.profilePictureURL} /></p>
<p>Group ID: {data.groupID}</p>
)}
</div>
);
Vanilla JavaScript:
const ref = window.CordSDK.user.observeViewerData(
(data) => {
// Received an update!
console.log("User name", data.name);
console.log("User short name", data.shortName);
console.log("User profile picture URL", data.profilePictureURL);
console.log("Group ID", data.groupID);
}
);
import{ user }from'@cord-sdk/react';const data = user.useViewerData();return(<div>{!data &&"Loading..."}{data &&(<p>User name:{data.name}</p><p>User short name:{data.shortName}</p><p>User profile picture:<img src={data.profilePictureURL}/></p><p>GroupID:{data.groupID}</p>)}</div>);
The identifier for the group that the current user is using (i.e., the group specified in the access token). Null if and only if no group was specified in the access token.
The primary display name of the user. This is a readonly field that's provided as a convenience. Its value is the user's shortName or name, preferring shortName if both are set, or the string "unknown" if neither is set.
The secondary display name of the user, in cases where you might want to display a secondary name (such as in a subtitle). This is a readonly field that's provided as a convenience. Its value is the user's name or shortName, preferring name if both are set, or the string "Unknown" if neither is set.
The hook will initially return undefined while the data loads from our API. Once it has loaded, your component will re-render and the hook will return an object containing the fields described under "Available Data" above. The component will automatically re-render if any of the data changes, i.e., this data is always "live".