Skip to content

Commit

Permalink
feat(drizzle-react-hooks): implement useCacheEvents
Browse files Browse the repository at this point in the history
  • Loading branch information
epiqueras committed Dec 13, 2018
1 parent 80c23cd commit 0b1275e
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion src/temp/drizzle-react-hooks.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,21 @@ export const DrizzleProvider = ({ children, drizzle }) => {
},
[drizzle, drizzleState]
)
const useCacheEvents = useCallback(
(contractName, eventName, eventOptions) => {
const [events, setEvents] = useState([])
useEffect(
() =>
drizzle.contracts[contractName].events[eventName](eventOptions).on(
'data',
event => setEvents(events => [...events, event])
).unsubscribe,
[contractName, eventName, eventOptions]
)
return events
},
[drizzle]
)
useEffect(
() =>
drizzle.store.subscribe(() => setDrizzleState(drizzle.store.getState())),
Expand All @@ -60,9 +75,10 @@ export const DrizzleProvider = ({ children, drizzle }) => {
cacheCall,
drizzle,
drizzleState,
useCacheEvents,
useCacheSend
}),
[cacheCall, drizzle, drizzleState, useCacheSend]
[cacheCall, drizzle, drizzleState, useCacheEvents, useCacheSend]
)}
>
{children}
Expand Down

0 comments on commit 0b1275e

Please sign in to comment.