WebView
@shopify/shop-minis-platform-sdk / components/WebView
WebViewRef\<P>
Extends
Component
\<WebViewProps
&P
>
Type Parameters
Type Parameter | Default type |
---|---|
P | object |
Constructors
new WebViewRef()
new WebViewRef\<
P
>(props
):WebViewRef
\<P
>
Parameters
Parameter | Type |
---|---|
props | IOSWebViewProps & 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
Parameter | Type |
---|---|
props | IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P |
context | any |
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
Parameter | Type |
---|---|
clear | boolean |
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
Parameter | Type |
---|---|
script | string |
Returns
void
postMessage()
postMessage: (
message
) =>void
Posts a message to WebView.
Parameters
Parameter | Type |
---|---|
message | string |
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
Parameter | Type |
---|---|
error | Error |
errorInfo | ErrorInfo |
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
Parameter | Type |
---|---|
prevProps | Readonly \<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P > |
prevState | Readonly \<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
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
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
Parameter | Type |
---|---|
nextProps | Readonly \<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P > |
nextContext | any |
Returns
void
Deprecated
16.3, use static getDerivedStateFromProps instead; will stop working in React 17
See
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
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
Parameter | Type |
---|---|
nextProps | Readonly \<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P > |
nextState | Readonly \<object > |
nextContext | any |
Returns
void
Deprecated
16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17
See
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
Inherited from
Component.componentWillUpdate
forceUpdate()
forceUpdate(
callback
?):void
Parameters
Parameter | Type |
---|---|
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
Parameter | Type |
---|---|
prevProps | Readonly \<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P > |
prevState | Readonly \<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
Parameter | Type |
---|---|
state | null | 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
Parameter | Type |
---|---|
nextProps | Readonly \<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P > |
nextState | Readonly \<object > |
nextContext | any |
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
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
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
Parameter | Type |
---|---|
nextProps | Readonly \<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P > |
nextContext | any |
Returns
void
Deprecated
16.3, use static getDerivedStateFromProps instead
See
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
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
Parameter | Type |
---|---|
nextProps | Readonly \<IOSWebViewProps & AndroidWebViewProps & WindowsWebViewProps & P > |
nextState | Readonly \<object > |
nextContext | any |
Returns
void
Deprecated
16.3, use getSnapshotBeforeUpdate instead
See
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
Inherited from
Component.UNSAFE_componentWillUpdate
WebView()
WebView(
props
):ReactNode
NOTE: Exotic components are not callable.
Parameters
Parameter | Type |
---|---|
props | Omit \<WebViewProps , "originWhitelist" > & object & RefAttributes \<WebViewRef \<object >> |
Returns
ReactNode