The useClient
hook provides direct access to the Para client instance, allowing you to call any method available on the Para SDK.
Import
import { useClient } from "@getpara/react-sdk@alpha";
Usage
function ClientExample() {
const para = useClient();
const { data: wallet } = useWallet();
const getFormattedAddress = () => {
if (!para || !wallet) return "No wallet";
return para.getDisplayAddress(wallet.id, {
truncate: true,
addressType: wallet.type
});
};
const checkSessionStatus = async () => {
if (!para) return;
const isActive = await para.isSessionActive();
console.log("Session active:", isActive);
};
return (
<div>
<p>Address: {getFormattedAddress()}</p>
<button onClick={checkSessionStatus}>
Check Session
</button>
</div>
);
}
Parameters
This hook does not accept any parameters.
Return Type
Available Methods
When you have the Para client instance, you can access all SDK methods including:
getDisplayAddress()
- Format wallet addresses
isSessionActive()
- Check session status
exportSession()
- Export session for server-side use
findWallet()
- Find a specific wallet
getUserId()
- Get the current user ID
- And many more…
Example: Advanced Usage
function AdvancedClientUsage() {
const para = useClient();
const [sessionInfo, setSessionInfo] = useState<string>("");
const exportCurrentSession = () => {
if (!para) return;
// Export session without signers for security
const session = para.exportSession({ excludeSigners: true });
setSessionInfo(session);
};
const checkUserDetails = async () => {
if (!para) return;
const userId = para.getUserId();
const authInfo = para.authInfo;
console.log("User ID:", userId);
console.log("Auth Info:", authInfo);
};
return (
<div>
<button onClick={exportCurrentSession}>Export Session</button>
<button onClick={checkUserDetails}>Check User Details</button>
{sessionInfo && <p>Session: {sessionInfo.substring(0, 50)}...</p>}
</div>
);
}
Notes
- The client is undefined until the
ParaProvider
is fully initialized
- Always check if the client exists before using it
- The client instance is the same one passed to the
ParaProvider