Skip to content

echobind/conditional-hooks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

May 10, 2024
11b4547 · May 10, 2024

History

3 Commits
May 10, 2024
May 10, 2024
May 10, 2024
May 10, 2024
May 10, 2024
May 10, 2024
May 10, 2024
May 10, 2024
May 10, 2024
May 10, 2024
May 10, 2024

Repository files navigation

readme

import { type UseHook } form "./useHookShared";
import { useHookOld } from "./useHookOld";
import { useHookNew } from "./useHookNew";

type MyComponentProps = {
  id: string;
  variant?: "default" | "bold",
}

export function MyComponent(props: MyComponentProps) {
  const featureFlag = useFeatureFlag();

  return featureFlag
    ? <MyComponentImplementation key="feature-on" {...props} useHook={useHookNew} />
    : <MyComponentImplementation key="feature-off" {...props} useHook={useHookOld} />
}

type MyComponentImplementationProps = MyComponentProps & {
  useHook: UseHook;
}

function MyComponentImplementation({
  useHook,
  id,
  variant = "default"
}: MyComponentImplementationProps) {
  const result = useHook();

  // ...
};

About

Demo different options for conditional hooks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published