Further Reading
Troubleshooting
If you're having trouble with your mini-app, here are some common issues and solutions.
Triggering a command on initialize
Problem: Since we use a client side component to install the minikit provider onto the Window
object.
If you try to trigger a command seperately as soon as the page opens via a separate useEffect
hook
it can result in a race condition where minikit is not yet installed when you call the command.
Fix: If you wish to call a command on open include the command inside the same useEffect
hook you use to install Minikit.
/components/MiniKitProvider.tsx
"use client";
import { MiniKit } from "@worldcoin/minikit-js";
import { useEffect, ReactNode } from "react";
export const MiniKitProvider = ({ children }: { children: ReactNode }) => {
useEffect(() => {
MiniKit.install();
// Add any commands you wish to trigger on start here to prevent race conditions
MiniKit.commands.walletAuth({
// ...
})
}, []);
return <>{children}</>;
};