diff --git a/web/components/contract/contract-tabs.tsx b/web/components/contract/contract-tabs.tsx index 6f20d429..b1174a4b 100644 --- a/web/components/contract/contract-tabs.tsx +++ b/web/components/contract/contract-tabs.tsx @@ -15,7 +15,7 @@ import dayjs from 'dayjs' import { Avatar } from 'web/components/avatar' import { Grid, _ } from 'gridjs-react' import 'gridjs/dist/theme/mermaid.css' -import { useState, useEffect } from 'react' +import { useState, useEffect, useRef } from 'react' import { maxBy, uniq } from 'lodash' export function ContractTabs(props: { @@ -101,12 +101,12 @@ export function ContractTabs(props: { ) const [users, setUsers] = useState({} as {[key: string]: User}) - const [asked, _setAsked] = useState(new Set()) + const asked = useRef(new Set()) useEffect(() => { - uniq(bets.map((bet:Bet) => bet.userId)).filter((uid) => !asked.has(uid)).forEach((uid) => { + uniq(bets.map((bet:Bet) => bet.userId)).filter((uid) => !asked.current.has(uid)).forEach((uid) => { console.log("adding",uid) - asked.add(uid) + asked.current.add(uid) getUser(uid).then((u) => setUsers((users) => ({...users, [uid]: u}))) }) }, [bets])