Comment on page


The series of context providers

[Deprecated since senhub v4]

Consider Hooks instead. They serve the same functionality but with better performance.
By these context providers, a DApp can easily access data that is provided by the os. The context is pretty diverse including user interface info, wallet info, blockchain data, etc.
To use a provider, you need to wrap your DApps by the provider. For example, to access the user interface info like current viewpoint, is-touchable, etc., I have to wrap the widget view into the UI Provider.
// ...
const Widget = () => {
return (
<UIProvider appId={appId}>
<Provider store={model}>
<WidgetView />
// ...
Then all components inside the widget view can read the user interface info like this,
// widget/index.tsx
// ...
import { useUI } from 'senhub/providers'
const Widget = () => {
const {
ui: { width, infix },
} = useUI()
// ...