Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Login extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- form_username: '',
- form_password: '',
- }
- }
- async saveKey(key, value) {
- try {
- await AsyncStorage.setItem(key, value);
- } catch (error) {
- console.log("Error saving data" + error);
- }
- }
- goLogin() {
- var self = this;
- let user = this.state.form_username;
- let pass = this.state.form_password;
- axios.post('http://www.example.com/api/token/create/',
- {'username': user, 'password': pass})
- .then(function (response) {
- console.log('Token ' + response.data.auth_token);
- //save token to AsyncStorage
- self.saveKey('userToken', 'Token ' + response.data.auth_token)
- //dispatch action to update redux store
- dispatch(loginSuccess(response.data.auth_token))
- }).
- catch(function (response) {
- console.log(response);
- })
- }
- render() {
- return (
- <Form>
- <Item floatingLabel>
- <Label>Username</Label>
- <Input
- ref="UsernameInput"
- onChangeText={(value) => this.setState({form_username: value})}
- value = {this.state.form_username}
- />
- </Item>
- <Item floatingLabel last>
- <Label>Password</Label>
- <Input
- ref="PasswordInput"
- secureTextEntry={true}
- returnKeyType={'go'}
- onSubmitEditing={() => this.goLogin()}
- onChangeText={(value) => this.setState({form_password: value})}
- value = {this.state.form_password}
- />
- </Item>
- </Form>
- )
- }
- }
- const mapStateToProps = state => {
- return {
- token: state.token,
- loggedIn: state.loggedIn,
- }
- }
- connect(mapStateToProps)(Login)
- export default Login
Add Comment
Please, Sign In to add comment