react-create-shared-state

useState but with shared state across components

Usage no npm install needed!

<script type="module">
  import reactCreateSharedState from 'https://cdn.skypack.dev/react-create-shared-state';
</script>

README

react-create-shared-state

npm version Build Status

Reacts useState hook but with shared state across components.

Usage

Demo

import { createSharedState } from 'react-create-shared-state';

const useTheme = createSharedState('light');

function App {
  return (
    <Toolbar />
    <ThemeSwitch />
  );
}

function Toolbar() {
  return (
    <div>
      <ThemedButton />
    </div>
  );
}

function ThemedButton() {
  const [theme] = useTheme();
  return <Button theme={theme} />;
}

function ThemeSwitch {
  const [theme, setTheme] = useTheme();
  return (
    <Button
      onClick={() => setTheme(theme === 'dark' ? 'light' : 'dark')}
    >
      {theme}
    </Button>
  );
}