0.0.2 • Published 4 years ago

react-ev-bus v0.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

react-ev-bus

CI

react event bus.

Table of Contents

Background

project background

Usage

import {
  BusProvider,
  BusRootProvider,
  useBusEffect,
  useBusState,
  useDispatch,
} from 'react-ev-bus';

const CounterControl = () => {
  const inc = useDispatch('inc');
  const sub = useDispatch('sub');
  return (
    <div>
      <button onclick={inc}>+</button>
      <button onclick={sub}>-</button>
    </div>
  );
};

const CounterView = () => {
  const [count, change] = useBusState('count');
  useBusEffect('inc', () => change(count + 1));
  useBusEffect('sub', () => change(count - 1));
  return <span>{num}</span>;
};

const AnyComponent = () => {
  return (
    <div style={{boder: '1px solid tomato', padding: '1rem'}}>
      <CounterView />
      <CounterControl />
    </div>
  );
};

const App = () => {
  const [mode, changeMode] = useState('mode');
  return (
    <BusRootProvider>
      <BusProvider>
        <CounterView />
        <CounterControl />
        <AnyComponent />
      </BusProvider>
      <BusProvider>
        <CounterView />
        <CounterControl />
        <AnyComponent />
      </BusProvider>
      <AnyComponent />
    </BusRootProvider>
  );
};

Maintainers

@zhzluke96.

License

MIT © Richard Littauer