Files
react-native/docs/next/alert.html
T
Website Deployment Script d6c8c31cb1 Deploy website
Deploy website version based on aa6bca5d8b7a59a46c8e4e5a6803f43206c13b65
2020-09-16 06:40:19 +00:00

431 lines
47 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Alert · React Native</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Launches an alert dialog with the specified title and message."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Alert · React Native"/><meta property="og:type" content="website"/><meta property="og:url" content="https://reactnative.dev/"/><meta property="og:description" content="Launches an alert dialog with the specified title and message."/><meta property="og:image" content="https://reactnative.dev/img/logo-og.png"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://reactnative.dev/img/logo-og.png"/><link rel="shortcut icon" href="/img/favicon.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/solarized-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://reactnative.dev/blog/atom.xml" title="React Native Blog ATOM Feed"/><link rel="alternate" type="application/rss+xml" href="https://reactnative.dev/blog/feed.xml" title="React Native Blog RSS Feed"/><script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-41298772-2', 'auto');
ga('send', 'pageview');
</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/focus-visible@5.0.2/dist/focus-visible.min.js"></script><script type="text/javascript" src="https://snack.expo.io/embed.js"></script><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="/js/codeblocks.js"></script><script type="text/javascript" src="/js/tabs.js"></script><script type="text/javascript" src="/js/docs-rating.js"></script><script src="https://unpkg.com/vanilla-back-to-top@7.1.14/dist/vanilla-back-to-top.min.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
addBackToTop(
{"zIndex":100}
)
});
</script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/prism.css"/><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/header_logo.svg" alt="React Native"/><h2 class="headerTitleWithLogo">React Native</h2></a><a href="/versions"><h3>next</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/next/getting-started" target="_self">Docs</a></li><li class=""><a href="/docs/next/components-and-apis" target="_self">Components</a></li><li class="siteNavGroupActive"><a href="/docs/next/accessibilityinfo" target="_self">API</a></li><li class=""><a href="/help" target="_self">Community</a></li><li class=""><a href="/blog/" target="_self">Blog</a></li><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li><li class=""><a href="https://github.com/facebook/react-native" target="_self">GitHub</a></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line1"></div><div class="line2"></div><div class="line3"></div></div></div><h2><i></i><span>APIs</span></h2><div class="tocToggler" id="tocToggler"><i class="icon-toc"></i></div></div><div class="navGroups"><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">APIs<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/next/accessibilityinfo">AccessibilityInfo</a></li><li class="navListItem navListItemActive"><a class="navItem" href="/docs/next/alert">Alert</a></li><li class="navListItem"><a class="navItem" href="/docs/next/animated">Animated</a></li><li class="navListItem"><a class="navItem" href="/docs/next/animatedvalue">Animated.Value</a></li><li class="navListItem"><a class="navItem" href="/docs/next/animatedvaluexy">Animated.ValueXY</a></li><li class="navListItem"><a class="navItem" href="/docs/next/appearance">Appearance</a></li><li class="navListItem"><a class="navItem" href="/docs/next/appregistry">AppRegistry</a></li><li class="navListItem"><a class="navItem" href="/docs/next/appstate">AppState</a></li><li class="navListItem"><a class="navItem" href="/docs/next/devsettings">DevSettings</a></li><li class="navListItem"><a class="navItem" href="/docs/next/dimensions">Dimensions</a></li><li class="navListItem"><a class="navItem" href="/docs/next/easing">Easing</a></li><li class="navListItem"><a class="navItem" href="/docs/next/interactionmanager">InteractionManager</a></li><li class="navListItem"><a class="navItem" href="/docs/next/keyboard">Keyboard</a></li><li class="navListItem"><a class="navItem" href="/docs/next/layoutanimation">LayoutAnimation</a></li><li class="navListItem"><a class="navItem" href="/docs/next/linking">Linking</a></li><li class="navListItem"><a class="navItem" href="/docs/next/panresponder">PanResponder</a></li><li class="navListItem"><a class="navItem" href="/docs/next/pixelratio">PixelRatio</a></li><li class="navListItem"><a class="navItem" href="/docs/next/platformcolor">PlatformColor</a></li><li class="navListItem"><a class="navItem" href="/docs/next/share">Share</a></li><li class="navListItem"><a class="navItem" href="/docs/next/stylesheet">StyleSheet</a></li><li class="navListItem"><a class="navItem" href="/docs/next/systrace">Systrace</a></li><li class="navListItem"><a class="navItem" href="/docs/next/transforms">Transforms</a></li><li class="navListItem"><a class="navItem" href="/docs/next/vibration">Vibration</a></li><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">Hooks</h4><ul><li class="navListItem"><a class="navItem" href="/docs/next/usecolorscheme">useColorScheme</a></li><li class="navListItem"><a class="navItem" href="/docs/next/usewindowdimensions">useWindowDimensions</a></li></ul></div><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">Android APIs</h4><ul><li class="navListItem"><a class="navItem" href="/docs/next/backhandler">BackHandler</a></li><li class="navListItem"><a class="navItem" href="/docs/next/permissionsandroid">PermissionsAndroid</a></li><li class="navListItem"><a class="navItem" href="/docs/next/toastandroid">ToastAndroid</a></li></ul></div><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">iOS APIs</h4><ul><li class="navListItem"><a class="navItem" href="/docs/next/actionsheetios">ActionSheetIOS</a></li><li class="navListItem"><a class="navItem" href="/docs/next/dynamiccolorios">DynamicColorIOS</a></li><li class="navListItem"><a class="navItem" href="/docs/next/settings">Settings</a></li></ul></div></ul></div></div></section></div><script>
var coll = document.getElementsByClassName('collapsible');
var checkActiveCategory = true;
for (var i = 0; i < coll.length; i++) {
var links = coll[i].nextElementSibling.getElementsByTagName('*');
if (checkActiveCategory){
for (var j = 0; j < links.length; j++) {
if (links[j].classList.contains('navListItemActive')){
coll[i].nextElementSibling.classList.toggle('hide');
coll[i].childNodes[1].classList.toggle('rotate');
checkActiveCategory = false;
break;
}
}
}
coll[i].addEventListener('click', function() {
var arrow = this.childNodes[1];
arrow.classList.toggle('rotate');
var content = this.nextElementSibling;
content.classList.toggle('hide');
});
}
document.addEventListener('DOMContentLoaded', function() {
createToggler('#navToggler', '#docsNav', 'docsSliderActive');
createToggler('#tocToggler', 'body', 'tocActive');
var headings = document.querySelector('.toc-headings');
headings && headings.addEventListener('click', function(event) {
var el = event.target;
while(el !== headings){
if (el.tagName === 'A') {
document.body.classList.remove('tocActive');
break;
} else{
el = el.parentNode;
}
}
}, false);
function createToggler(togglerSelector, targetSelector, className) {
var toggler = document.querySelector(togglerSelector);
var target = document.querySelector(targetSelector);
if (!toggler) {
return;
}
toggler.onclick = function(event) {
event.preventDefault();
target.classList.toggle(className);
};
}
});
</script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/facebook/react-native-website/blob/master/docs/alert.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Alert</h1></header><article><div><span><p>Launches an alert dialog with the specified title and message.</p>
<p>Optionally provide a list of buttons. Tapping any button will fire the respective onPress callback and dismiss the alert. By default, the only button will be an 'OK' button.</p>
<p>This is an API that works both on Android and iOS and can show static alerts. Alert that prompts the user to enter some information is avaiable on iOS only.</p>
<h2><a class="anchor" aria-hidden="true" id="example"></a><a href="#example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Example</h2>
<div class="toggler">
<ul role="tablist" class="toggle-syntax">
<li id="functional" class="button-functional" aria-selected="false" role="tab" tabindex="0" aria-controls="functionaltab" onclick="displayTabs('syntax', 'functional')">
Function Component Example
</li>
<li id="classical" class="button-classical" aria-selected="false" role="tab" tabindex="0" aria-controls="classicaltab" onclick="displayTabs('syntax', 'classical')">
Class Component Example
</li>
</ul>
</div>
<p><block class="functional syntax" /></p>
<div class="snack-player"><div class="mobile-friendly-snack" style="display: none"><pre><code class="hljs css javascript"><span class="hljs-keyword">import</span> React, { useState } <span class="hljs-keyword">from</span> <span class="hljs-string">&quot;react&quot;</span>;
<span class="hljs-keyword">import</span> { View, StyleSheet, Button, Alert } <span class="hljs-keyword">from</span> <span class="hljs-string">&quot;react-native&quot;</span>;
<span class="hljs-keyword">const</span> App = <span class="hljs-function">() =&gt;</span> {
<span class="hljs-keyword">const</span> createTwoButtonAlert = <span class="hljs-function">() =&gt;</span>
Alert.alert(
<span class="hljs-string">&quot;Alert Title&quot;</span>,
<span class="hljs-string">&quot;My Alert Msg&quot;</span>,
[
{
<span class="hljs-attr">text</span>: <span class="hljs-string">&quot;Cancel&quot;</span>,
<span class="hljs-attr">onPress</span>: <span class="hljs-function">() =&gt;</span> <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&quot;Cancel Pressed&quot;</span>),
<span class="hljs-attr">style</span>: <span class="hljs-string">&quot;cancel&quot;</span>
},
{ <span class="hljs-attr">text</span>: <span class="hljs-string">&quot;OK&quot;</span>, <span class="hljs-attr">onPress</span>: <span class="hljs-function">() =&gt;</span> <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&quot;OK Pressed&quot;</span>) }
]
);
<span class="hljs-keyword">const</span> createThreeButtonAlert = <span class="hljs-function">() =&gt;</span>
Alert.alert(
<span class="hljs-string">&quot;Alert Title&quot;</span>,
<span class="hljs-string">&quot;My Alert Msg&quot;</span>,
[
{
<span class="hljs-attr">text</span>: <span class="hljs-string">&quot;Ask me later&quot;</span>,
<span class="hljs-attr">onPress</span>: <span class="hljs-function">() =&gt;</span> <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&quot;Ask me later pressed&quot;</span>)
},
{
<span class="hljs-attr">text</span>: <span class="hljs-string">&quot;Cancel&quot;</span>,
<span class="hljs-attr">onPress</span>: <span class="hljs-function">() =&gt;</span> <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&quot;Cancel Pressed&quot;</span>),
<span class="hljs-attr">style</span>: <span class="hljs-string">&quot;cancel&quot;</span>
},
{ <span class="hljs-attr">text</span>: <span class="hljs-string">&quot;OK&quot;</span>, <span class="hljs-attr">onPress</span>: <span class="hljs-function">() =&gt;</span> <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&quot;OK Pressed&quot;</span>) }
]
);
<span class="hljs-keyword">return</span> (
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">View</span> <span class="hljs-attr">style</span>=<span class="hljs-string">{styles.container}</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">Button</span> <span class="hljs-attr">title</span>=<span class="hljs-string">{</span>&quot;<span class="hljs-attr">2-Button</span> <span class="hljs-attr">Alert</span>&quot;} <span class="hljs-attr">onPress</span>=<span class="hljs-string">{createTwoButtonAlert}</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">Button</span> <span class="hljs-attr">title</span>=<span class="hljs-string">{</span>&quot;<span class="hljs-attr">3-Button</span> <span class="hljs-attr">Alert</span>&quot;} <span class="hljs-attr">onPress</span>=<span class="hljs-string">{createThreeButtonAlert}</span> /&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">View</span>&gt;</span></span>
);
}
<span class="hljs-keyword">const</span> styles = StyleSheet.create({
<span class="hljs-attr">container</span>: {
<span class="hljs-attr">flex</span>: <span class="hljs-number">1</span>,
<span class="hljs-attr">justifyContent</span>: <span class="hljs-string">&quot;space-around&quot;</span>,
<span class="hljs-attr">alignItems</span>: <span class="hljs-string">&quot;center&quot;</span>
}
});
<span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> App;
</code></pre></div><div class="desktop-friendly-snack" style="margin-top: 15px; margin-bottom: 15px"><div
data-snack-name="Alert Function Component Example"
data-snack-description="Example usage"
data-snack-code="import%20React%2C%20%7B%20useState%20%7D%20from%20%22react%22%3B%0Aimport%20%7B%20View%2C%20StyleSheet%2C%20Button%2C%20Alert%20%7D%20from%20%22react-native%22%3B%0A%0Aconst%20App%20%3D%20()%20%3D%3E%20%7B%0A%20%20const%20createTwoButtonAlert%20%3D%20()%20%3D%3E%0A%20%20%20%20Alert.alert(%0A%20%20%20%20%20%20%22Alert%20Title%22%2C%0A%20%20%20%20%20%20%22My%20Alert%20Msg%22%2C%0A%20%20%20%20%20%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20%22Cancel%22%2C%0A%20%20%20%20%20%20%20%20%20%20onPress%3A%20()%20%3D%3E%20console.log(%22Cancel%20Pressed%22)%2C%0A%20%20%20%20%20%20%20%20%20%20style%3A%20%22cancel%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%20text%3A%20%22OK%22%2C%20onPress%3A%20()%20%3D%3E%20console.log(%22OK%20Pressed%22)%20%7D%0A%20%20%20%20%20%20%5D%0A%20%20%20%20)%3B%0A%0A%20%20const%20createThreeButtonAlert%20%3D%20()%20%3D%3E%0A%20%20%20%20Alert.alert(%0A%20%20%20%20%20%20%22Alert%20Title%22%2C%0A%20%20%20%20%20%20%22My%20Alert%20Msg%22%2C%0A%20%20%20%20%20%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20%22Ask%20me%20later%22%2C%0A%20%20%20%20%20%20%20%20%20%20onPress%3A%20()%20%3D%3E%20console.log(%22Ask%20me%20later%20pressed%22)%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20%22Cancel%22%2C%0A%20%20%20%20%20%20%20%20%20%20onPress%3A%20()%20%3D%3E%20console.log(%22Cancel%20Pressed%22)%2C%0A%20%20%20%20%20%20%20%20%20%20style%3A%20%22cancel%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%20text%3A%20%22OK%22%2C%20onPress%3A%20()%20%3D%3E%20console.log(%22OK%20Pressed%22)%20%7D%0A%20%20%20%20%20%20%5D%0A%20%20%20%20)%3B%0A%0A%20%20return%20(%0A%20%20%20%20%3CView%20style%3D%7Bstyles.container%7D%3E%0A%20%20%20%20%20%20%3CButton%20title%3D%7B%222-Button%20Alert%22%7D%20onPress%3D%7BcreateTwoButtonAlert%7D%20%2F%3E%0A%0A%20%20%20%20%20%20%3CButton%20title%3D%7B%223-Button%20Alert%22%7D%20onPress%3D%7BcreateThreeButtonAlert%7D%20%2F%3E%0A%20%20%20%20%3C%2FView%3E%0A%20%20)%3B%0A%7D%0A%0Aconst%20styles%20%3D%20StyleSheet.create(%7B%0A%20%20container%3A%20%7B%0A%20%20%20%20flex%3A%201%2C%0A%20%20%20%20justifyContent%3A%20%22space-around%22%2C%0A%20%20%20%20alignItems%3A%20%22center%22%0A%20%20%7D%0A%7D)%3B%0A%0Aexport%20default%20App%3B%0A"
data-snack-platform="web"
data-snack-supported-platforms=ios,android
data-snack-preview="true"
style="
overflow: hidden;
background: #fafafa;
border: 1px solid rgba(0,0,0,.16);
border-radius: 4px;
height: 514px;
width: 100%;
"
></div></div></div><p><block class="classical syntax" /></p>
<div class="snack-player"><div class="mobile-friendly-snack" style="display: none"><pre><code class="hljs css javascript"><span class="hljs-keyword">import</span> React, { Component } <span class="hljs-keyword">from</span> <span class="hljs-string">&quot;react&quot;</span>;
<span class="hljs-keyword">import</span> { View, StyleSheet, Button, Alert } <span class="hljs-keyword">from</span> <span class="hljs-string">&quot;react-native&quot;</span>;
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">App</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">Component</span> </span>{
createTwoButtonAlert = <span class="hljs-function">() =&gt;</span>
Alert.alert(
<span class="hljs-string">&quot;Alert Title&quot;</span>,
<span class="hljs-string">&quot;My Alert Msg&quot;</span>,
[
{
<span class="hljs-attr">text</span>: <span class="hljs-string">&quot;Cancel&quot;</span>,
<span class="hljs-attr">onPress</span>: <span class="hljs-function">() =&gt;</span> <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&quot;Cancel Pressed&quot;</span>),
<span class="hljs-attr">style</span>: <span class="hljs-string">&quot;cancel&quot;</span>
},
{ <span class="hljs-attr">text</span>: <span class="hljs-string">&quot;OK&quot;</span>, <span class="hljs-attr">onPress</span>: <span class="hljs-function">() =&gt;</span> <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&quot;OK Pressed&quot;</span>) }
]
);
createThreeButtonAlert = <span class="hljs-function">() =&gt;</span>
Alert.alert(
<span class="hljs-string">&quot;Alert Title&quot;</span>,
<span class="hljs-string">&quot;My Alert Msg&quot;</span>,
[
{
<span class="hljs-attr">text</span>: <span class="hljs-string">&quot;Ask me later&quot;</span>,
<span class="hljs-attr">onPress</span>: <span class="hljs-function">() =&gt;</span> <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&quot;Ask me later pressed&quot;</span>)
},
{
<span class="hljs-attr">text</span>: <span class="hljs-string">&quot;Cancel&quot;</span>,
<span class="hljs-attr">onPress</span>: <span class="hljs-function">() =&gt;</span> <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&quot;Cancel Pressed&quot;</span>),
<span class="hljs-attr">style</span>: <span class="hljs-string">&quot;cancel&quot;</span>
},
{ <span class="hljs-attr">text</span>: <span class="hljs-string">&quot;OK&quot;</span>, <span class="hljs-attr">onPress</span>: <span class="hljs-function">() =&gt;</span> <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&quot;OK Pressed&quot;</span>) }
]
);
render() {
<span class="hljs-keyword">return</span> (
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">View</span> <span class="hljs-attr">style</span>=<span class="hljs-string">{styles.container}</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">Button</span> <span class="hljs-attr">title</span>=<span class="hljs-string">{</span>&quot;<span class="hljs-attr">2-Button</span> <span class="hljs-attr">Alert</span>&quot;} <span class="hljs-attr">onPress</span>=<span class="hljs-string">{this.createTwoButtonAlert}</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">Button</span>
<span class="hljs-attr">title</span>=<span class="hljs-string">{</span>&quot;<span class="hljs-attr">3-Button</span> <span class="hljs-attr">Alert</span>&quot;}
<span class="hljs-attr">onPress</span>=<span class="hljs-string">{this.createThreeButtonAlert}</span>
/&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">View</span>&gt;</span></span>
);
}
}
<span class="hljs-keyword">const</span> styles = StyleSheet.create({
<span class="hljs-attr">container</span>: {
<span class="hljs-attr">flex</span>: <span class="hljs-number">1</span>,
<span class="hljs-attr">justifyContent</span>: <span class="hljs-string">&quot;space-around&quot;</span>,
<span class="hljs-attr">alignItems</span>: <span class="hljs-string">&quot;center&quot;</span>
}
});
<span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> App;
</code></pre></div><div class="desktop-friendly-snack" style="margin-top: 15px; margin-bottom: 15px"><div
data-snack-name="Alert Class Component Example"
data-snack-description="Example usage"
data-snack-code="import%20React%2C%20%7B%20Component%20%7D%20from%20%22react%22%3B%0Aimport%20%7B%20View%2C%20StyleSheet%2C%20Button%2C%20Alert%20%7D%20from%20%22react-native%22%3B%0A%0Aclass%20App%20extends%20Component%20%7B%0A%20%20createTwoButtonAlert%20%3D%20()%20%3D%3E%0A%20%20%20%20Alert.alert(%0A%20%20%20%20%20%20%22Alert%20Title%22%2C%0A%20%20%20%20%20%20%22My%20Alert%20Msg%22%2C%0A%20%20%20%20%20%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20%22Cancel%22%2C%0A%20%20%20%20%20%20%20%20%20%20onPress%3A%20()%20%3D%3E%20console.log(%22Cancel%20Pressed%22)%2C%0A%20%20%20%20%20%20%20%20%20%20style%3A%20%22cancel%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%20text%3A%20%22OK%22%2C%20onPress%3A%20()%20%3D%3E%20console.log(%22OK%20Pressed%22)%20%7D%0A%20%20%20%20%20%20%5D%0A%20%20%20%20)%3B%0A%0A%20%20createThreeButtonAlert%20%3D%20()%20%3D%3E%0A%20%20%20%20Alert.alert(%0A%20%20%20%20%20%20%22Alert%20Title%22%2C%0A%20%20%20%20%20%20%22My%20Alert%20Msg%22%2C%0A%20%20%20%20%20%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20%22Ask%20me%20later%22%2C%0A%20%20%20%20%20%20%20%20%20%20onPress%3A%20()%20%3D%3E%20console.log(%22Ask%20me%20later%20pressed%22)%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20text%3A%20%22Cancel%22%2C%0A%20%20%20%20%20%20%20%20%20%20onPress%3A%20()%20%3D%3E%20console.log(%22Cancel%20Pressed%22)%2C%0A%20%20%20%20%20%20%20%20%20%20style%3A%20%22cancel%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%20text%3A%20%22OK%22%2C%20onPress%3A%20()%20%3D%3E%20console.log(%22OK%20Pressed%22)%20%7D%0A%20%20%20%20%20%20%5D%0A%20%20%20%20)%3B%0A%0A%20%20render()%20%7B%0A%20%20%20%20return%20(%0A%20%20%20%20%20%20%3CView%20style%3D%7Bstyles.container%7D%3E%0A%20%20%20%20%20%20%20%20%3CButton%20title%3D%7B%222-Button%20Alert%22%7D%20onPress%3D%7Bthis.createTwoButtonAlert%7D%20%2F%3E%0A%0A%20%20%20%20%20%20%20%20%3CButton%0A%20%20%20%20%20%20%20%20%20%20title%3D%7B%223-Button%20Alert%22%7D%0A%20%20%20%20%20%20%20%20%20%20onPress%3D%7Bthis.createThreeButtonAlert%7D%0A%20%20%20%20%20%20%20%20%2F%3E%0A%20%20%20%20%20%20%3C%2FView%3E%0A%20%20%20%20)%3B%0A%20%20%7D%0A%7D%0A%0Aconst%20styles%20%3D%20StyleSheet.create(%7B%0A%20%20container%3A%20%7B%0A%20%20%20%20flex%3A%201%2C%0A%20%20%20%20justifyContent%3A%20%22space-around%22%2C%0A%20%20%20%20alignItems%3A%20%22center%22%0A%20%20%7D%0A%7D)%3B%0A%0Aexport%20default%20App%3B%0A"
data-snack-platform="web"
data-snack-supported-platforms=ios,android
data-snack-preview="true"
style="
overflow: hidden;
background: #fafafa;
border: 1px solid rgba(0,0,0,.16);
border-radius: 4px;
height: 514px;
width: 100%;
"
></div></div></div><p><block class="endBlock syntax" /></p>
<h2><a class="anchor" aria-hidden="true" id="ios"></a><a href="#ios" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>iOS</h2>
<p>On iOS you can specify any number of buttons. Each button can optionally specify a style, avaiable options are represented by the <a href="#alertbuttonstyle">AlertButtonStyle</a> enum.</p>
<h2><a class="anchor" aria-hidden="true" id="android"></a><a href="#android" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Android</h2>
<p>On Android at most three buttons can be specified. Android has a concept of a neutral, negative and a positive button:</p>
<ul>
<li>If you specify one button, it will be the 'positive' one (such as 'OK')</li>
<li>Two buttons mean 'negative', 'positive' (such as 'Cancel', 'OK')</li>
<li>Three buttons mean 'neutral', 'negative', 'positive' (such as 'Later', 'Cancel', 'OK')</li>
</ul>
<p>Alerts on Android can be dismissed by tapping outside of the alert box. It is disabled by default and can be enabled by providing an optional <a href="alert#options">Options</a> parameter with the cancelable property set to <code>true</code> i.e.<br/><code>{ cancelable: true }</code>.</p>
<p>The cancel event can be handled by providing an <code>onDismiss</code> callback property inside the <code>options</code> parameter.</p>
<h3><a class="anchor" aria-hidden="true" id="example-1"></a><a href="#example-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Example <div class="label android">Android</div></h3>
<div class="snack-player"><div class="mobile-friendly-snack" style="display: none"><pre><code class="hljs css javascript"><span class="hljs-keyword">import</span> React <span class="hljs-keyword">from</span> <span class="hljs-string">&quot;react&quot;</span>;
<span class="hljs-keyword">import</span> { View, StyleSheet, Button, Alert } <span class="hljs-keyword">from</span> <span class="hljs-string">&quot;react-native&quot;</span>;
<span class="hljs-keyword">const</span> showAlert = <span class="hljs-function">() =&gt;</span>
Alert.alert(
<span class="hljs-string">&quot;Alert Title&quot;</span>,
<span class="hljs-string">&quot;My Alert Msg&quot;</span>,
[
{
<span class="hljs-attr">text</span>: <span class="hljs-string">&quot;Cancel&quot;</span>,
<span class="hljs-attr">onPress</span>: <span class="hljs-function">() =&gt;</span> Alert.alert(<span class="hljs-string">&quot;Cancel Pressed&quot;</span>),
<span class="hljs-attr">style</span>: <span class="hljs-string">&quot;cancel&quot;</span>,
},
],
{
<span class="hljs-attr">cancelable</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">onDismiss</span>: <span class="hljs-function">() =&gt;</span>
Alert.alert(
<span class="hljs-string">&quot;This alert was dismissed by tapping outside of the alert dialog.&quot;</span>
),
}
);
<span class="hljs-keyword">const</span> App = <span class="hljs-function">() =&gt;</span> (
<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">Button</span> <span class="hljs-attr">title</span>=<span class="hljs-string">&quot;Show alert&quot;</span> <span class="hljs-attr">onPress</span>=<span class="hljs-string">{showAlert}</span> /&gt;</span></span>
);
<span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> App;
</code></pre></div><div class="desktop-friendly-snack" style="margin-top: 15px; margin-bottom: 15px"><div
data-snack-name="Alert Android Dissmissable Example"
data-snack-description="Example usage"
data-snack-code="import%20React%20from%20%22react%22%3B%0Aimport%20%7B%20View%2C%20StyleSheet%2C%20Button%2C%20Alert%20%7D%20from%20%22react-native%22%3B%0A%0Aconst%20showAlert%20%3D%20()%20%3D%3E%0A%20%20Alert.alert(%0A%20%20%20%20%22Alert%20Title%22%2C%0A%20%20%20%20%22My%20Alert%20Msg%22%2C%0A%20%20%20%20%5B%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20text%3A%20%22Cancel%22%2C%0A%20%20%20%20%20%20%20%20onPress%3A%20()%20%3D%3E%20Alert.alert(%22Cancel%20Pressed%22)%2C%0A%20%20%20%20%20%20%20%20style%3A%20%22cancel%22%2C%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%5D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20cancelable%3A%20true%2C%0A%20%20%20%20%20%20onDismiss%3A%20()%20%3D%3E%0A%20%20%20%20%20%20%20%20Alert.alert(%0A%20%20%20%20%20%20%20%20%20%20%22This%20alert%20was%20dismissed%20by%20tapping%20outside%20of%20the%20alert%20dialog.%22%0A%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%7D%0A%20%20)%3B%0A%0Aconst%20App%20%3D%20()%20%3D%3E%20(%0A%20%20%3CButton%20title%3D%22Show%20alert%22%20onPress%3D%7BshowAlert%7D%20%2F%3E%0A)%3B%0A%0Aexport%20default%20App%3B%0A"
data-snack-platform="web"
data-snack-supported-platforms=android
data-snack-preview="true"
style="
overflow: hidden;
background: #fafafa;
border: 1px solid rgba(0,0,0,.16);
border-radius: 4px;
height: 514px;
width: 100%;
"
></div></div></div><hr>
<h1><a class="anchor" aria-hidden="true" id="reference"></a><a href="#reference" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Reference</h1>
<h2><a class="anchor" aria-hidden="true" id="methods"></a><a href="#methods" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Methods</h2>
<h3><a class="anchor" aria-hidden="true" id="alert"></a><a href="#alert" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>alert()</code></h3>
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">alert</span><span class="token punctuation">(</span>title<span class="token punctuation">,</span> message<span class="token operator">?</span><span class="token punctuation">,</span> buttons<span class="token operator">?</span><span class="token punctuation">,</span> options<span class="token operator">?</span><span class="token punctuation">)</span>
</code></pre>
<p><strong>Parameters:</strong></p>
<table>
<thead>
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
</thead>
<tbody>
<tr><td>title</td><td>string <div class="label basic required">Required</div></td><td>The dialog's title. Passing <code>null</code> or empty string will hide the title.</td></tr>
<tr><td>message</td><td>string</td><td>An optional message that appears below the dialog's title.</td></tr>
<tr><td>buttons</td><td><a href="alert#buttons">Buttons</a></td><td>An optional array containg buttons configuration.</td></tr>
<tr><td>options</td><td><a href="alert#options">Options</a> <div class="label android">Android</div></td><td>An optional Alert configuration for the Android.</td></tr>
</tbody>
</table>
<hr>
<h3><a class="anchor" aria-hidden="true" id="prompt"></a><a href="#prompt" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>prompt()</code> <div class="label ios">iOS</div></h3>
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">prompt</span><span class="token punctuation">(</span>title<span class="token punctuation">,</span> message<span class="token operator">?</span><span class="token punctuation">,</span> callbackOrButtons<span class="token operator">?</span><span class="token punctuation">,</span> type<span class="token operator">?</span><span class="token punctuation">,</span> defaultValue<span class="token operator">?</span><span class="token punctuation">,</span> keyboardType<span class="token operator">?</span><span class="token punctuation">)</span>
</code></pre>
<p>Create and display a prompt to enter some text in form of Alert.</p>
<p><strong>Parameters:</strong></p>
<table>
<thead>
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
</thead>
<tbody>
<tr><td>title</td><td>string <div class="label basic required">Required</div></td><td>The dialog's title.</td></tr>
<tr><td>message</td><td>string</td><td>An optional message that appears above the text input.</td></tr>
<tr><td>callbackOrButtons</td><td>function<hr/><a href="alert#buttons">Buttons</a></td><td>If passed a function, it will be called with the prompt's value<br/><code>(text: string) =&gt; void</code>, when the user taps 'OK'.<hr/>If passed an array, buttons will be configured based on the array content.</td></tr>
<tr><td>type</td><td><a href="alert#alerttype">AlertType</a></td><td>This configures the text input.</td></tr>
<tr><td>defaultValue</td><td>string</td><td>The default text in text input.</td></tr>
<tr><td>keyboardType</td><td>string</td><td>The keyboard type of first text field (if exists). One of TextInput <a href="textinput#keyboardtype">keyboardTypes</a>.</td></tr>
</tbody>
</table>
<hr>
<h2><a class="anchor" aria-hidden="true" id="type-definitions"></a><a href="#type-definitions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Type Definitions</h2>
<h3><a class="anchor" aria-hidden="true" id="alertbuttonstyle"></a><a href="#alertbuttonstyle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>AlertButtonStyle <div class="label ios">iOS</div></h3>
<p>An iOS Alert button style.</p>
<table>
<thead>
<tr><th>Type</th></tr>
</thead>
<tbody>
<tr><td>enum</td></tr>
</tbody>
</table>
<p><strong>Constants:</strong></p>
<table>
<thead>
<tr><th>Value</th><th>Description</th></tr>
</thead>
<tbody>
<tr><td><code>'default'</code></td><td>Default button style.</td></tr>
<tr><td><code>'cancel'</code></td><td>Cancel button style.</td></tr>
<tr><td><code>'destructive'</code></td><td>Destructive button style.</td></tr>
</tbody>
</table>
<hr>
<h3><a class="anchor" aria-hidden="true" id="alerttype"></a><a href="#alerttype" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>AlertType <div class="label ios">iOS</div></h3>
<p>An iOS Alert type.</p>
<table>
<thead>
<tr><th>Type</th></tr>
</thead>
<tbody>
<tr><td>enum</td></tr>
</tbody>
</table>
<p><strong>Constants:</strong></p>
<table>
<thead>
<tr><th>Value</th><th>Description</th></tr>
</thead>
<tbody>
<tr><td><code>'default'</code></td><td>Default alert with no inputs</td></tr>
<tr><td><code>'plain-text'</code></td><td>Plain text input alert</td></tr>
<tr><td><code>'secure-text'</code></td><td>Secure text input alert</td></tr>
<tr><td><code>'login-password'</code></td><td>Login and password alert</td></tr>
</tbody>
</table>
<hr>
<h3><a class="anchor" aria-hidden="true" id="buttons"></a><a href="#buttons" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Buttons</h3>
<p>Array of objects containg Alert buttons configuration.</p>
<table>
<thead>
<tr><th>Type</th></tr>
</thead>
<tbody>
<tr><td>array of objects</td></tr>
</tbody>
</table>
<p><strong>Objects properties:</strong></p>
<table>
<thead>
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
</thead>
<tbody>
<tr><td>text</td><td>string</td><td>Button label.</td></tr>
<tr><td>onPress</td><td>function</td><td>Callback function when button is pressed.</td></tr>
<tr><td>style <div class="label ios">iOS</div></td><td><a href="alert#alertbuttonstyle">AlertButtonStyle</a></td><td>Button style, on Android this property will be ignored.</td></tr>
</tbody>
</table>
<hr>
<h3><a class="anchor" aria-hidden="true" id="options"></a><a href="#options" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Options <div class="label android">Android</div></h3>
<table>
<thead>
<tr><th>Type</th></tr>
</thead>
<tbody>
<tr><td>object</td></tr>
</tbody>
</table>
<p><strong>Properties:</strong></p>
<table>
<thead>
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
</thead>
<tbody>
<tr><td>cancelable</td><td>boolean</td><td>Defines if alert can be dismissed by tapping outside of the alert box.</td></tr>
<tr><td>onDismiss</td><td>function</td><td>Callback function fired when alert has been dismissed.</td></tr>
</tbody>
</table>
</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/next/accessibilityinfo"><span class="arrow-prev"></span><span class="function-name-prevnext">AccessibilityInfo</span></a><a class="docs-next button" href="/docs/next/animated"><span>Animated</span><span class="arrow-next"></span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#example">Example</a></li><li><a href="#ios">iOS</a></li><li><a href="#android">Android</a><ul class="toc-headings"><li><a href="#example-1">Example <div class="label android">Android</div></a></li></ul></li><li><a href="#methods">Methods</a><ul class="toc-headings"><li><a href="#alert"><code>alert()</code></a></li><li><a href="#prompt"><code>prompt()</code> <div class="label ios">iOS</div></a></li></ul></li><li><a href="#type-definitions">Type Definitions</a><ul class="toc-headings"><li><a href="#alertbuttonstyle">AlertButtonStyle <div class="label ios">iOS</div></a></li><li><a href="#alerttype">AlertType <div class="label ios">iOS</div></a></li><li><a href="#buttons">Buttons</a></li><li><a href="#options">Options <div class="label android">Android</div></a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><div><h5>Docs</h5><a href="/docs/getting-started">Getting Started</a><a href="/docs/tutorial">Tutorial</a><a href="/docs/components-and-apis">Components and APIs</a><a href="/docs/more-resources">More Resources</a></div><div><h5>Community</h5><a href="/help">The React Native Community</a><a href="/showcase">Who&#x27;s using React Native?</a><a href="https://stackoverflow.com/questions/tagged/react-native" target="_blank">Ask Questions on Stack Overflow</a><a href="https://github.com/facebook/react-native/blob/master/CONTRIBUTING.md">Contributor Guide</a><a href="https://dev.to/t/reactnative" target="_blank">DEV Community</a></div><div><h5>More Resources</h5><a href="/blog">Blog</a><a href="https://twitter.com/reactnative" target="_blank">Twitter</a><a href="https://github.com/facebook/react-native" target="_blank">GitHub</a><a href="https://reactjs.org" target="_blank">React</a></div></section><a href="https://code.facebook.com/projects/" target="_blank" class="fbOpenSource"><img src="/img/oss_logo.png" alt="Facebook Open Source" width="170" height="45"/></a><section class="copyright">Copyright © 2020 Facebook Inc.</section></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>window.fbAsyncInit = function() {FB.init({appId:'1677033832619985',xfbml:true,version:'v2.7'});};(function(d, s, id){var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) {return;}js = d.createElement(s); js.id = id;js.src = '//connect.facebook.net/en_US/sdk.js';fjs.parentNode.insertBefore(js, fjs);}(document, 'script','facebook-jssdk'));
</script><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script><script>
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
}
// keyCode for '/' (slash)
if (e.keyCode === 191) {
const search = document.getElementById('search_input_react');
search && search.focus();
}
});
</script><script>
var search = docsearch({
apiKey: '2c98749b4a1e588efec53b2acec13025',
indexName: 'react-native-versions',
inputSelector: '#search_input_react',
algoliaOptions: {"facetFilters":["tags:next"],"hitsPerPage":5}
});
</script></body></html>