Socket
Book a DemoInstallSign in
Socket

gatsby-plugin-hummhive-react-web-data

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gatsby-plugin-hummhive-react-web-data

Power you Gatsby site with public and/or encrypted members-only data from HummHive.

npmnpm
Version
1.0.3
Version published
Weekly downloads
37
3600%
Maintainers
1
Weekly downloads
 
Created
Source

gatsby-plugin-hummhive-react-web-data

Power you Gatsby site with public and/or encrypted members-only data from HummHive.

Installation

  • Install with npm install gatsby-plugin-hummhive-react-web-data
  • In your gatsby-config.js file, add plugins: ["gatsby-plugin-hummhive-react-web-data"]

Usage

This plugin uses hummhive-react-web-data under the hood. Go there for the full documentation.

Using state

Note: This plugin automatically fetches the Hive object and the logged in Member object.

import React, { useContext } from "react"
import { HummContext } from "gatsby-plugin-hummhive-react-web-data"

const MyComponent = () => {
  const { state } = useContext(HummContext)

  return (
    <h1>Hello {state.hive.title}</h1>
  )
}

Fetching state

import React, { useEffect, useContext } from "react"
import { HummContext } from "gatsby-plugin-hummhive-react-web-data"

const MyComponent = () => {
  const { state, actions } = useContext(HummContext)

  // fetch groups when the component mounts
  useEffect(() => {
    if (!state.groups) actions.getGroups()
  }, [])

  if (!state.groups) return <p>Loading...</p>

  return (
    <h1>Hello {state.groups[0].name}</h1>
  )
}

Joining a Hive

import React, { useEffect, useContext, useState } from "react"
import { HummContext } from "gatsby-plugin-hummhive-react-web-data"

const MyComponent = () => {
  const { state, actions } = useContext(HummContext)
  const [error, setError] = useState(null)

  const handleJoin = async () => {
    try {
      await actions.joinHive(state.hive, USERNAME, EMAIL, GROUP_ID)
    } catch (err) {
      setError(err.message)
    }
  }

  return (
    <button onClick={handleJoin}>Join</button>
  )
}

FAQs

Package last updated on 16 Jun 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts