Skip to main content

WebView

@shopify/shop-minis-platform-sdk / components/WebView

WebViewRef\<P>

Extends

  • Component\<WebViewProps & P>

Type Parameters

Type ParameterDefault type
Pobject

Constructors

new WebViewRef()

new WebViewRef\<P>(props): WebViewRef\<P>

Parameters
ParameterType
propsIOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P | Readonly\<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P>
Returns

WebViewRef\<P>

Inherited from

Component<WebViewProps & P>.constructor

new WebViewRef()

new WebViewRef\<P>(props, context): WebViewRef\<P>

Parameters
ParameterType
propsIOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P
contextany
Returns

WebViewRef\<P>

Deprecated
See

https://legacy.reactjs.org/docs/legacy-context.html

Inherited from

Component<WebViewProps & P>.constructor

Properties

clearCache()?

optional clearCache: (clear) => void

(Android only) Clears the resource cache. Note that the cache is per-application, so this will clear the cache for all WebViews used.

Parameters
ParameterType
clearboolean
Returns

void

clearFormData()?

optional clearFormData: () => void

(Android only) Removes the autocomplete popup from the currently focused form field, if present.

Returns

void

clearHistory()?

optional clearHistory: () => void

(Android only) Tells this WebView to clear its internal back/forward list.

Returns

void

context

context: unknown

If using the new style context, re-declare this in your class to be the React.ContextType of your static contextType. Should be used with type annotation or static contextType.

static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>
See

https://react.dev/reference/react/Component#context

Inherited from

Component.context

goBack()

goBack: () => void

Go back one page in the webview's history.

Returns

void

goForward()

goForward: () => void

Go forward one page in the webview's history.

Returns

void

injectJavaScript()

injectJavaScript: (script) => void

Executes the JavaScript string.

Parameters
ParameterType
scriptstring
Returns

void

postMessage()

postMessage: (message) => void

Posts a message to WebView.

Parameters
ParameterType
messagestring
Returns

void

props

readonly props: Readonly\<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P>

Inherited from

Component.props

refs

refs: object

Index Signature

[key: string]: ReactInstance

Deprecated

https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

Inherited from

Component.refs

reload()

reload: () => void

Reloads the current page.

Returns

void

requestFocus()

requestFocus: () => void

Focuses on WebView redered page.

Returns

void

state

state: Readonly\<object>

Inherited from

Component.state

contextType?

static optional contextType: Context\<any>

If set, this.context will be set at runtime to the current value of the given Context.

Usage:

type MyContext = number
const Ctx = React.createContext<MyContext>(0)

class Foo extends React.Component {
static contextType = Ctx
context!: React.ContextType<typeof Ctx>
render () {
return <>My context's value: {this.context}</>;
}
}
See

https://react.dev/reference/react/Component#static-contexttype

Inherited from

Component.contextType

Methods

componentDidCatch()?

optional componentDidCatch(error, errorInfo): void

Catches exceptions generated in descendant components. Unhandled exceptions will cause the entire component tree to unmount.

Parameters
ParameterType
errorError
errorInfoErrorInfo
Returns

void

Inherited from

Component.componentDidCatch

componentDidMount()?

optional componentDidMount(): void

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

Returns

void

Inherited from

Component.componentDidMount

componentDidUpdate()?

optional componentDidUpdate(prevProps, prevState, snapshot?): void

Called immediately after updating occurs. Not called for the initial render.

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

Parameters
ParameterType
prevPropsReadonly\<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P>
prevStateReadonly\<object>
snapshot?any
Returns

void

Inherited from

Component.componentDidUpdate

componentWillMount()?

optional componentWillMount(): void

Called immediately before mounting occurs, and before Component#render. Avoid introducing any side-effects or subscriptions in this method.

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead; will stop working in React 17

See
Inherited from

Component.componentWillMount

componentWillReceiveProps()?

optional componentWillReceiveProps(nextProps, nextContext): void

Called when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes.

Calling Component#setState generally does not trigger this method.

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

Parameters
ParameterType
nextPropsReadonly\<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P>
nextContextany
Returns

void

Deprecated

16.3, use static getDerivedStateFromProps instead; will stop working in React 17

See
Inherited from

Component.componentWillReceiveProps

componentWillUnmount()?

optional componentWillUnmount(): void

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

Returns

void

Inherited from

Component.componentWillUnmount

componentWillUpdate()?

optional componentWillUpdate(nextProps, nextState, nextContext): void

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call Component#setState here.

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

Parameters
ParameterType
nextPropsReadonly\<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P>
nextStateReadonly\<object>
nextContextany
Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

See
Inherited from

Component.componentWillUpdate

forceUpdate()

forceUpdate(callback?): void

Parameters
ParameterType
callback?() => void
Returns

void

Inherited from

Component.forceUpdate

getSnapshotBeforeUpdate()?

optional getSnapshotBeforeUpdate(prevProps, prevState): any

Runs before React applies the result of render to the document, and returns an object to be given to componentDidUpdate. Useful for saving things such as scroll position before render causes changes to it.

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated lifecycle events from running.

Parameters
ParameterType
prevPropsReadonly\<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P>
prevStateReadonly\<object>
Returns

any

Inherited from

Component.getSnapshotBeforeUpdate

render()

render(): ReactNode

Returns

ReactNode

Inherited from

Component.render

setState()

setState\<K>(state, callback?): void

Type Parameters
Type Parameter
K extends never
Parameters
ParameterType
statenull | object | (prevState, props) => null | object | Pick\<object, K> | Pick\<object, K>
callback?() => void
Returns

void

Inherited from

Component.setState

shouldComponentUpdate()?

optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

Called to determine whether the change in props and state should trigger a re-render.

Component always returns true. PureComponent implements a shallow comparison on props and state and returns true if any props or states have changed.

If false is returned, Component#render, componentWillUpdate and componentDidUpdate will not be called.

Parameters
ParameterType
nextPropsReadonly\<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P>
nextStateReadonly\<object>
nextContextany
Returns

boolean

Inherited from

Component.shouldComponentUpdate

stopLoading()

stopLoading(): void

Stop loading the current page.

Returns

void

UNSAFE_componentWillMount()?

optional UNSAFE_componentWillMount(): void

Called immediately before mounting occurs, and before Component#render. Avoid introducing any side-effects or subscriptions in this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead

See
Inherited from

Component.UNSAFE_componentWillMount

UNSAFE_componentWillReceiveProps()?

optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

Called when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes.

Calling Component#setState generally does not trigger this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

Parameters
ParameterType
nextPropsReadonly\<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P>
nextContextany
Returns

void

Deprecated

16.3, use static getDerivedStateFromProps instead

See
Inherited from

Component.UNSAFE_componentWillReceiveProps

UNSAFE_componentWillUpdate()?

optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call Component#setState here.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

Parameters
ParameterType
nextPropsReadonly\<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P>
nextStateReadonly\<object>
nextContextany
Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead

See
Inherited from

Component.UNSAFE_componentWillUpdate


WebView()

WebView(props): ReactNode

NOTE: Exotic components are not callable.

Parameters

ParameterType
propsOmit\<WebViewProps, "originWhitelist"> & object & RefAttributes\<WebViewRef\<object>>

Returns

ReactNode