Documentation
/Hooks
/useContractRead
useContractRead
Hook for calling a Contract read-only method.
import { useContractRead } from 'wagmi'
Usage
The following examples use the WAGMIGOTCHI Contract.
import { useContractRead } from 'wagmi'
const App = () => {
const [{ data, error, loading }, read] = useContractRead(
{
addressOrName: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
contractInterface: wagmigotchiABI,
},
'getHunger',
)
return ...
}
Return Values
result
{
data?: Result
error?: Error
loading?: boolean
}
read
(
config: {
args: any | any[]
overrides?: Overrides
} = {},
) => Promise<{ data?: Result; error?: Error }>
Arguments
contractConfig
See useContract
for more info.
functionName
Name of function to call.
import { useContractRead } from 'wagmi'
const App = () => {
const [{ data, error, loading }, read] = useContractRead(
{
addressOrName: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
contractInterface: wagmigotchiABI,
},
'getSleep',
)
return ...
}
Configuration
args (optional)
Arguments to pass to function call. Accepts any | any[]
.
⚠️
When using a list of positional arguments, you probably want to memoize them
with something like React.useMemo
so the updater effect remains stable.
import { useContractRead } from 'wagmi'
const App = () => {
const [{ data, error, loading }, read] = useContractRead(
{
addressOrName: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
contractInterface: wagmigotchiABI,
},
'love',
{
args: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
}
)
return ...
}
overrides (optional)
Overrides to pass to function call.
import { useContractRead } from 'wagmi'
const App = () => {
const [{ data, error, loading }, read] = useContractRead(
{
addressOrName: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
contractInterface: wagmigotchiABI,
},
'getHunger',
{
overrides: { from: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e' }
}
)
return ...
}
skip (optional)
Skips automatically fetching data on mount. Defaults to false
. Useful if you want to call read
manually at some other point.
import { useContractRead } from 'wagmi'
const App = () => {
const [{ data, error, loading }, read] = useContractRead(
{
addressOrName: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
contractInterface: wagmigotchiABI,
},
'getHunger',
{
skip: true,
}
)
return ...
}
watch (optional)
Watches and refreshes data for new blocks.
import { useContractRead } from 'wagmi'
const App = () => {
const [{ data, error, loading }, read] = useContractRead(
{
addressOrName: '0xecb504d39723b0be0e3a9aa33d646642d1051ee1',
contractInterface: wagmigotchiABI,
},
'getHunger',
{
watch: true,
}
)
return ...
}