import React from 'react'
import {
useItems,
useOptedItem,
useLoading,
useLoadItems,
useSetItems,
} from '@ambroseus/dck-store'
export const Items: React.FC<{ itemType: string; optedItemId?: number }> = ({
itemType,
optedItemId,
}) => {
const items: any[] = useItems(itemType)
const loading = useLoading(itemType)
const load = useLoadItems(itemType)
const setItems = useSetItems(itemType)
const optedItem = useOptedItem(itemType)
return (
<>
<button onClick={() => load({ optedItemId })} disabled={loading}>
{loading ? 'loading...' : 'load items'}
</button>{' '}
<button onClick={() => setItems([])}>clear items</button>
<div />
<pre>items: {JSON.stringify(items, null, 2)}</pre>
<pre>opted item: {JSON.stringify(optedItem, null, 2)}</pre>
</>
)
}
...
import React from 'react'
import { Provider } from 'react-redux'
import { store } from './store'
import { Items } from './components/Items'
import { TestItem } from './items'
export const App: React.FC = () => (
<Provider store={store}>
<Items itemType={TestItem} optedItemId={3} />
</Provider>
)