React native 反应本族语-什么是“本族语”;“类型”;平均报警分量法?
我是React Native的新手,当我阅读有关组件的内容时,我看到了关于React native 反应本族语-什么是“本族语”;“类型”;平均报警分量法?,react-native,alert,React Native,Alert,我是React Native的新手,当我阅读有关组件的内容时,我看到了关于警报方法静态警报(标题、消息?、按钮?、选项?、类型? facebook给出的例子如下: Alert.alert( //Title 'Alert Title', //Message 'My Alert Msg', //Button [ {text: 'Ask me later', onPress: () => console.log('Ask me later pressed'
警报
方法静态警报(标题、消息?、按钮?、选项?、类型?
facebook给出的例子如下:
Alert.alert(
//Title
'Alert Title',
//Message
'My Alert Msg',
//Button
[
{text: 'Ask me later', onPress: () => console.log('Ask me later pressed')},
{text: 'Cancel', onPress: () => console.log('Cancel Pressed'), style: 'cancel'},
{text: 'OK', onPress: () => console.log('OK Pressed')},
],
//Options
{ cancelable: false }
)
没有关于类型
做什么的例子,有人可以告诉我那些类型
有没有一种方法可以显示
警报
而不显示标题
?我阅读了源代码,发现类型
是一个定义如下的字符串:
type AlertType = "default" | "plain-text" | "secure-text" | "login-password";
export interface AlertAndroidStatic {
alert: (
title: string,
message?: string,
buttons?: AlertButton[],
options?: AlertOptions
) => void;
}
然而,我尝试了所有这些,我没有看到任何差异。因此,我猜测:可能它只针对Android,而不是iOS,但发现Android中的Alert
定义为:
type AlertType = "default" | "plain-text" | "secure-text" | "login-password";
export interface AlertAndroidStatic {
alert: (
title: string,
message?: string,
buttons?: AlertButton[],
options?: AlertOptions
) => void;
}
其中不接受类型
参数。然后,我继续阅读另一个类似的react纯iOS本机API,名为AlertIOS
,它有两种用法,首先,与Alert
API相同,您只需
AlertIOS.alert(title, message, buttons, type)
但评论说:
@参数类型已弃用,请勿使用
AlertIOS的第二个用法是:
AlertIOS.prompt(title, message, buttons, type, defaultValue)
在提示用户输入的地方,这里,paramtype
有效,如果您希望用户以纯文本形式输入一行,则type
应为“纯文本”,如果一行为安全文本,则为“安全文本”,如果是登录凭证,则type
应为“登录密码”。注意,对于Android,您不能使用Alert
提示用户输入,而AlertIOS
仅适用于iOS
结论:我不知道为什么type
是Alert
API的第四个参数,对于Android,这个参数被忽略,对于iOS,这个参数没有任何区别。我的猜测是,在react native刚刚问世的早期,他们没有编写名为AlertIOS
的API,相反,他们只有Alert
。由于iOS设备提供用户输入提示,但Android设备不提供,因此他们将type
作为第四个参数,但如果应用程序在Android设备上运行,则忽略该参数。随着时间的推移,他们制作了一个名为AlertIOS
的API,专门用于iOS警报,但尚未弃用type
param。无论如何,只需忽略参数即可
回答你的另一个问题:有没有一种不带标题的方式来显示警报
是的,如果您不需要标题或消息,只需将null
传递给API调用即可。非常感谢您,先生,答案太棒了,我无法理解警报的流程
export interface AlertAndroidStatic {
alert: (
title: string,
message?: string,
buttons?: AlertButton[],
options?: AlertOptions
) => void;
}