Advertisement
Guest User

Untitled

a guest
Sep 10th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { Component } from 'react';
  2. import {
  3.     Text,
  4.     View,
  5.     AsyncStorage,
  6.     TextInput,
  7.     Button
  8.   } from 'react-native';
  9.  
  10. export default class AsyncStorageComponent extends React.Component {
  11.     constructor(props) {
  12.         super(props);
  13.         this.state = {
  14.             username: '',
  15.             password: '',
  16.         };
  17.         this.onRetrieve = this.onRetrieve.bind(this);
  18.     }
  19.     componentWillMount() {
  20.         console.log(this.username);
  21.         let UID234_object = {
  22.             name: 'Chris',
  23.             age: 30,
  24.             traits: {hair: 'brown', eyes: 'brown'},
  25.            };
  26.            
  27.            // first user, delta values
  28.            let UID234_delta = {
  29.             age: 31,
  30.             traits: {eyes: 'blue', shoe_size: 10},
  31.            };
  32.            
  33.            // second user, initial values
  34.            let UID345_object = {
  35.             name: 'Marge',
  36.             age: 25,
  37.             traits: {hair: 'blonde', eyes: 'blue'},
  38.            };
  39.            
  40.            // second user, delta values
  41.            let UID345_delta = {
  42.             age: 26,
  43.             traits: {eyes: 'green', shoe_size: 6},
  44.            };
  45.            
  46.            let multi_set_pairs   = [['UID234', JSON.stringify(UID234_object)], ['UID345', JSON.stringify(UID345_object)]]
  47.            let multi_merge_pairs = [['UID234', JSON.stringify(UID234_delta)], ['UID345', JSON.stringify(UID345_delta)]]
  48.            
  49.            AsyncStorage.multiSet(multi_set_pairs, (err) => {
  50.              AsyncStorage.multiMerge(multi_merge_pairs, (err) => {
  51.                AsyncStorage.multiGet(['UID234','UID345'], (err, stores) => {
  52.                  stores.map( (result, i, store) => {
  53.                    let key = store[i][0];
  54.                    let val = store[i][1];
  55.                    console.log(key, val);
  56.                  });
  57.                });
  58.              });
  59.            });
  60.     }
  61.     onRegisterPress() {
  62.         const username = this.state.username;
  63.         const password = this.state.password;
  64.         AsyncStorage.setItem('username', JSON.stringify(username));
  65.         AsyncStorage.setItem('password', JSON.stringify(password));
  66.  
  67.         AsyncStorage.getAllKeys((err, keys) => {
  68.             AsyncStorage.multiGet(keys, (err, stores) => {
  69.              stores.map((result, i, store) => {
  70.                let key = store[i][0];
  71.                let value = store[i][1];
  72.                
  73.                // add your data to redux store
  74.               });
  75.             });
  76.           });
  77.  
  78.         this.setState({username: username, password: password});
  79.         console.log(username);
  80.         console.log(password);
  81.     }
  82.     async onRetrieve() {
  83.         const user = await AsyncStorage.getItem('username');
  84.  
  85.         console.log(user);
  86.     }
  87.    
  88.     render() {
  89.         return (
  90.             <View style={styles.MainContainer}>
  91.                 <Text style={styles.TextRegistration}>Register</Text>
  92.                 <TextInput
  93.                 style={styles.TextInputStyleClass}
  94.                 onChangeText={(text) => this.setState({ username: text })} placeholder='Email' autoCapitalize='none'
  95.                 />
  96.                 <TextInput
  97.                 secureTextEntry={true}
  98.                 style={styles.TextInputStyleClass}
  99.                 onChangeText={(text) => this.setState({ password: text })} placeholder='Password' autoCapitalize='none'
  100.                 />
  101.                 <Button title="Click Here To Register" onPress={this.onRegisterPress.bind(this)} color="#2196F3" />
  102.             </View>    
  103.         );
  104.     }
  105. };
  106.  
  107. const styles = {
  108.     MainContainer: {
  109.        
  110.         justifyContent: 'center',
  111.         flex: 1,
  112.         margin: 100
  113.     },
  114.        
  115.     TextInputStyleClass: {
  116.        
  117.         textAlign: 'center',
  118.         marginBottom: 7,
  119.         height: 40,
  120.         borderWidth: 1,
  121.         // Set border Hex Color Code Here.
  122.         borderColor: '#2196F3',
  123.         // Set border Radius.
  124.         borderRadius: 5,
  125.         // Set border Radius.
  126.         //borderRadius: 10 ,
  127.     },
  128.     TextRegistration: {
  129.             fontSize: 20,
  130.             color: '#000',
  131.             textAlign: 'center',
  132.             marginBottom: 15
  133.     },
  134. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement