Skip to content

Use with Hooks #225

Description

@blackwolf08

Short Description

Improves Documentation

Steps to Reproduce / Code Snippets / Usage

import React, { useRef } from "react";
import DropdownAlert from "react-native-dropdownalert";

const DropDownContext = React.createContext();

export const DropDownComponentProvider = ({ children }) => {
  let ref = useRef();
  return (
    <DropDownContext.Provider
      value={{
        ref,
      }}
    >
      {children}
      <DropdownAlert ref={ref} />
    </DropDownContext.Provider>
  );
};

export const useDropDown = () => React.useContext(DropDownContext);

In App.js

import React from "react";
import { AppearanceProvider } from "react-native-appearance";
import {
  AuthProvider,
  DropDownComponentProvider,
  ThemeProvider,
  UserProvider,
} from "./contexts";
import { firebaseInit } from "./firebase";
import NavigationConatiner from "./navigation";

// init firebase app
firebaseInit();

export default function App() {
  
  return (
    <DropDownComponentProvider>
      <UserProvider>
        <AuthProvider>
          <AppearanceProvider>
            <ThemeProvider>
              <NavigationConatiner />
            </ThemeProvider>
          </AppearanceProvider>
        </AuthProvider>
      </UserProvider>
    </DropDownComponentProvider>
  );
}

Then in any component

import { useDropDown } from "./location"

// Inside a functional component 

const { ref } = useDropDown()

// eg in use effect
   useEffect(() => {
    ref.current.alertWithType("success", "Log in successfull.", "asdasd");
  }, []);

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions