Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Login from './src/compoments/login/Login'
- import Dashboard from './src/compoments/dashboard/Dashboard'
- export default class App extends React.Component {
- constructor(props){
- super(props);
- this.state = {
- isTokenValid: false,
- access_token: '',
- }
- }
- render() {
- console.disableYellowBox = true;
- this.loadToken();
- const isLoggedIn = this.state.isTokenValid;
- console.log("Logged IN : ", isLoggedIn);
- if (isLoggedIn)
- return <Dashboard />;
- else
- return <Login
- onLoginPress={() => this.setState({isLoggedIn: true})}
- />;
- }
- loadToken(){
- retrieveData = async () => {
- try {
- const value = await AsyncStorage.getItem('access_token');
- console.log("TOKEN", value);
- if (value !== null) {
- this.setState({access_token : value});
- this.setState({isTokenValid : true});
- console.log(value);
- }else{
- this.setState({isTokenValid : false});
- }
- } catch (error) {
- console.log("ERROR : ", error)
- }
- }
- }
- }
- export default class Login extends React.Component {
- constructor(props){
- super(props);
- this.state = {
- username: '',
- password: '',
- param3: '',
- serverResponse:'',
- isLoggingIn: false,
- isLoggedIn: false
- }
- }
- render() {
- return (
- <View style={styles.container}>
- <TouchableOpacity style={styles.buttonContainer}
- onPress={this.getLoginApi.bind(this)}>
- <Text style={styles.buttonText}>LOGIN</Text>
- </TouchableOpacity>
- {this.state.isLoggingIn && <ActivityIndicator size="large" color="#0000ff" />}
- </View>
- );
- getLoginApi(){
- this.setState({ isLoggingIn: true, message: '' });
- var formData = new FormData();
- formData.append('param1', this.state.username);
- formData.append('param2', this.state.password);
- formData.append('param3', this.state.param3);
- var request = new XMLHttpRequest();
- request.onreadystatechange = (e) => {
- if (request.readyState !== 4) {
- return;
- }
- if (request.status === 200) {
- this.setState({ isLoggingIn: false })
- const status = this.getJSONValue(request.responseText,"status");
- console.log('SERVER RESPONSE : ', status);
- if(status=="success"){
- const token = this.getJSONValue(request.responseText,"token");
- console.log("ACCESS TOKEN : ", token);
- AsyncStorage.setItem('access_token', token);
- this.setState({isLoggedIn: true});
- this.props.onLoginPress();
- }
- } else {
- this.setState({ isLoggingIn: false })
- console.warn('error');
- }
- };
- request.open('POST', 'https://bla.com/test.php');
- request.send(formData);
- }
- getJSONValue(jsonObj, findKey){
- let response = '';
- JSON.parse(jsonObj, (key, value) => {
- if(key==findKey){
- response = value;
- }
- });
- return response;
- }
Add Comment
Please, Sign In to add comment