资讯专栏INFORMATION COLUMN

React Native手势密码组件

Java3y / 3103人阅读

摘要:效果图安装属性所有的属性都是可选的。现在列举几个重要属性。状态为验证手势密码是否准确是需要自己在事件中来判断的。当用户结束输入手势密码时触发。

本文原创首发于公众号:ReactNative开发圈,转载需注明出处。

</>复制代码

  1. 这次介绍的React Native手势密码组件为react-native-gesture-password,纯JavaScript实现,同时支持iOS和安卓平台。

效果图

安装

npm install react-native-gesture-password --save

属性

所有的属性都是可选的。现在列举几个重要属性。

message (string)

给用户的提示信息,如请输入手势密码,手势密码不准确等此类消息。

status (string)

状态为:"normal", "right" or "wrong’.验证手势密码是否准确是需要自己在onEnd事件中来判断的。

onStart (function)

当用户开始输入手势密码时触发。

onEnd (function)

当用户结束输入手势密码时触发。

示例

</>复制代码

  1. var React = require("react");
  2. var {
  3. AppRegistry,
  4. } = require("react-native");
  5. var PasswordGesture = require("react-native-gesture-password");
  6. var Password1 = "";
  7. var AppDemo = React.createClass({
  8. // Example for check password
  9. onEnd: function(password) {
  10. if (password == "123") {
  11. this.setState({
  12. status: "right",
  13. message: "Password is right, success."
  14. });
  15. // your codes to close this view
  16. } else {
  17. this.setState({
  18. status: "wrong",
  19. message: "Password is wrong, try again."
  20. });
  21. }
  22. },
  23. onStart: function() {
  24. this.setState({
  25. status: "normal",
  26. message: "Please input your password."
  27. });
  28. },
  29. onReset: function() {
  30. this.setState({
  31. status: "normal",
  32. message: "Please input your password (again)."
  33. });
  34. },
  35. // Example for set password
  36. /*
  37. onEnd: function(password) {
  38. if ( Password1 === "" ) {
  39. // The first password
  40. Password1 = password;
  41. this.setState({
  42. status: "normal",
  43. message: "Please input your password secondly."
  44. });
  45. } else {
  46. // The second password
  47. if ( password === Password1 ) {
  48. this.setState({
  49. status: "right",
  50. message: "Your password is set to " + password
  51. });
  52. Password1 = "";
  53. // your codes to close this view
  54. } else {
  55. this.setState({
  56. status: "wrong",
  57. message: "Not the same, try again."
  58. });
  59. }
  60. }
  61. },
  62. onStart: function() {
  63. if ( Password1 === "") {
  64. this.setState({
  65. message: "Please input your password."
  66. });
  67. } else {
  68. this.setState({
  69. message: "Please input your password secondly."
  70. });
  71. }
  72. },
  73. */
  74. getInitialState: function() {
  75. return {
  76. message: "Please input your password.",
  77. status: "normal"
  78. }
  79. },
  80. render: function() {
  81. return (
  82. this.onStart()}
  83. onEnd={(password) => this.onEnd(password)}
  84. />
  85. );
  86. }
  87. });
  88. AppRegistry.registerComponent("AppDemo", () => AppDemo);
组件地址

详细说明和示例代码请查看GitHub:https://github.com/Spikef/rea...

举手之劳关注我的微信公众号:ReactNative开发圈

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/89762.html

相关文章

  • 翻译 | 从 ReactJS 到 React-Native—两者的主要差异是什么?

    摘要:跟非常相似,但是在开始尝试你第一个之前,也需要了解两者之间的一些差异。推荐的方式是使用提供的。能用到组件中的或者上以启用这个组件的触摸事件。 华翔,Web前端开发工程师著作权归作者所有,转载请联系作者获得授权。 showImg(https://segmentfault.com/img/bVUliz?w=640&h=235); React-Native已经诞生有两年左右了,自从适配了An...

    darkerXi 评论0 收藏0
  • React Native 在 Airbnb(译文)

    摘要:声明有助于保持我们的同步与底层状态的声明性质。值得注意的是,这些挑战并非特定于。这导致或上出现不一致或意外错误。崩溃监控我们使用在和上进行崩溃报告。桥接有一个桥接,用于在本机和之间进行通信。 showImg(https://segmentfault.com/img/bVbd0FA?w=740&h=433);在Android,iOS,Web和跨平台框架的横向对比中,React Nativ...

    nihao 评论0 收藏0
  • React Native 在 Airbnb(译文)

    摘要:声明有助于保持我们的同步与底层状态的声明性质。值得注意的是,这些挑战并非特定于。这导致或上出现不一致或意外错误。崩溃监控我们使用在和上进行崩溃报告。桥接有一个桥接,用于在本机和之间进行通信。 showImg(https://segmentfault.com/img/bVbd0FA?w=740&h=433);在Android,iOS,Web和跨平台框架的横向对比中,React Nativ...

    chenatu 评论0 收藏0
  • React Native 在 Airbnb(译文)

    摘要:声明有助于保持我们的同步与底层状态的声明性质。值得注意的是,这些挑战并非特定于。这导致或上出现不一致或意外错误。崩溃监控我们使用在和上进行崩溃报告。桥接有一个桥接,用于在本机和之间进行通信。 showImg(https://segmentfault.com/img/bVbd0FA?w=740&h=433);在Android,iOS,Web和跨平台框架的横向对比中,React Nativ...

    icyfire 评论0 收藏0

发表评论

0条评论

Java3y

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<