Airstack Developer Docs & FAQs
  • ℹ️Introduction
Powered by GitBook
  1. Quickstart & SDKs

React

Learn how to integrate Airstack APIs to your React-based application, including both React Web and React Native, using the Airstack Web SDK.

Last updated 7 months ago

Was this helpful?

In this tutorial, you will learn how to start integrating API into your React application.

This tutorial will only covering React app build with vite and create-react-app.

If you are looking to integrate with Next.js, click .

Table Of Contents

Step 0: Pre-requisites

  • Completed

  • Git

  • Node v.16+

Step 1: Install Airstack Web SDK

Use a package manager to install the into your React project:

npm install @airstack/airstack-react
yarn add @airstack/airstack-react
pnpm install @airstack/airstack-react

Step 2: Set Environment Variable

Create a new .env file:

touch .env
VITE_AIRSTACK_API_KEY=YOUR_AIRSTACK_API_KEY
REACT_APP_AIRSTACK_API_KEY=YOUR_AIRSTACK_API_KEY

Step 3: Initialize SDK

main.tsx
import React from "react";
import ReactDOM from "react-dom/client";
import { init } from "@airstack/airstack-react";
import Component from "./Component";

init(import.meta.env.VITE_AIRSTACK_API_KEY);

ReactDOM.createRoot(document.getElementById("root")).render(
  <React.StrictMode>
    <Component />
  </React.StrictMode>
);
main.jsx
import React from "react";
import ReactDOM from "react-dom/client";
import { init } from "@airstack/airstack-react";
import Component from "./Component";

init(import.meta.env.VITE_AIRSTACK_API_KEY);

ReactDOM.createRoot(document.getElementById("root")).render(
  <React.StrictMode>
    <Component />
  </React.StrictMode>
);
index.tsx
import React from "react";
import ReactDOM from "react-dom/client";
import { init } from "@airstack/airstack-react";
import Component from "./Component";

init(process.env.REACT_APP_AIRSTACK_API_KEY);

ReactDOM.createRoot(document.getElementById("root")).render(
  <React.StrictMode>
    <Component />
  </React.StrictMode>
);
index.jsx
import React from "react";
import ReactDOM from "react-dom/client";
import { init } from "@airstack/airstack-react";
import Component from "./Component";

init(process.env.REACT_APP_AIRSTACK_API_KEY);

ReactDOM.createRoot(document.getElementById("root")).render(
  <React.StrictMode>
    <Component />
  </React.StrictMode>
);

Step 4: Call Your Query

Once you have initialized the SDK, you can use the useQuery to call the Airstack API.

Component.tsx
import { useQuery } from "@airstack/airstack-react";

interface QueryResponse {
  data: Data | null;
  loading: boolean;
  error: Error | null;
}

interface Data {
  Wallet: Wallet;
}

interface Error {
  message: string;
}

interface Wallet {
  socials: Social[];
  addresses: string[];
}

interface Social {
  dappName: "farcaster";
  profileName: string;
}


const query = `
query MyQuery {
  Wallet(input: {identity: "vitalik.eth", blockchain: ethereum}) {
    socials {
      dappName
      profileName
    }
    addresses
  }
}
`;

const Component = () => {
  const { data, loading, error }: QueryResponse = useQuery<Data>(query, {}, { cache: false });

  if (loading) {
    return <p>Loading...</p>;
  }

  if (error) {
    return <p>Error: {error.message}</p>;
  }

  // Render your component using the data returned by the query
  console.log(data);
}

export default Component;
Component.jsx
import { useQuery } from "@airstack/airstack-react";

const query = `
query MyQuery {
  Wallet(input: {identity: "vitalik.eth", blockchain: ethereum}) {
    socials {
      dappName
      profileName
    }
    addresses
  }
}
`;

const Component = () => {
  const { data, loading, error } = useQuery(query, {}, { cache: false });

  if (loading) {
    return <p>Loading...</p>;
  }

  if (error) {
    return <p>Error: {error.message}</p>;
  }

  // Render your component using the data returned by the query
  console.log(data);
};

export default Component;

The data variable will return and logged into your browser's console as follows:

{
  "data": {
    "Wallet": {
      "socials": [
        {
          "dappName": "farcaster",
          "profileName": "vitalik.eth"
        }
      ],
      "addresses": ["0xd8da6bf26964af9d7eed9e03e53415d37aa96045"]
    }
  }
}

Developer Support

More Resources

Learn to build more with Airstack using our tutorials:

  • Resolve Identities

  • Wallet API Reference

Add the as the environment variable:

Add init function from the SDK to initialize it with the :

Below you have been provided with Airstack query to fetch the 0x address and Farcaster owned by :

If you have any questions or need help regarding integrating into your React application, please join our Airstack's group.

🚀
⚛️
Airstack API key
Airstack API key
vitalik.eth
Airstack
Telegram
Web SDK Reference
Airstack
Airstack
here
Get API Key
Airstack Web SDK
Step 0: Pre-requisites
Step 1: Install Airstack Web SDK
Step 2: Set Environment Variable
Step 3: Initialize SDK
Step 4: Call Your Query