The ID of the quest to filter user quests.
Optional
params: { Additional query parameters for fetching quests.
The returning object contains:
userQuests
: An array of user quest objects representing the fetched user quests.fetched
: Boolean indicating whether the user's quests have been successfully
fetched.refresh
: FetchUserQuestsMethod - Function to refetch the user's quests.refresh
or completeQuest
.fetchUserQuests
runs via useEffect
whenever params
change,
ensuring the data stays up to date.import { useUserQuestsByQuest } from 'react-playmakers';
const QuestDetailsComponent = () => {
const { userQuests, fetched, refresh, completeQuest } = useUserQuestsByQuest('qXXXXXXX');
useEffect(() => {
if (fetched) {
console.log('User quests fetched:', userQuests);
}
}, [fetched, userQuests]);
const handleCompleteQuest = async (quest) => {
try {
const updatedQuest = await completeQuest(quest);
console.log('Quest completed:', updatedQuest);
} catch (error) {
console.error('Error completing quest:', error);
}
};
return (
<div>
<h1>Quest Details</h1>
{!fetched && <p>Loading...</p>}
{fetched && userQuests.map((quest) => (
<div key={quest.id}>
<h3>{quest.name}</h3>
<button onClick={() => handleCompleteQuest(quest)}>Complete Quest</button>
</div>
))}
<button onClick={() => refresh(true)}>Refresh Quests</button>
</div>
);
};
export default QuestDetailsComponent;
Generated using TypeDoc
Hook for fetching user quests filtered by a specific quest ID.
This hook is a specialized version of
useUserQuests
that automatically appends the providedquestId
to the API query parameters. It fetches quests related to the given quest ID.