Возникли проблемы при аутентификации входа с WordPress JWT в React родной - PullRequest
0 голосов
/ 23 марта 2020

Я хочу выполнить аутентификацию при входе в React Native с токеном Wodpress JWT. Я тоже все делал, получая пользовательские данные, но я не знаю, как перейти к экрану пользователя после того, как нажму кнопку «Войти». Пожалуйста, посмотрите на мой код и помогите кому-нибудь. Спасибо

Привет, я хочу выполнить аутентификацию при входе в React Native с токеном Wodpress JWT. Я тоже все делал, получая пользовательские данные, но я не знаю, как перейти к экрану пользователя после того, как нажму кнопку «Войти». Пожалуйста, посмотрите на мой код и помогите кому-нибудь. Спасибо

class SetupLogin extends Component {
 this.state = {
          username: '',
          password: '',
          userNiceName: '',
          userEmail: '',
          loggedIn: false,
          loading: false,
          error: '',
        };
      }
onFormSubmit = event => {
event.preventDefault();
const url = 'https://staging.islamicmedia.com.au/';
const loginData = {
  username: this.state.username,

  password: this.state.password,
};

this.setState({laoding: true}, () => {
  axios
    .post(`${url}wp-json/jwt-auth/v1/token`, loginData)
    .then(res => {
      console.log(res.data);
      if (undefined === res.data.token) {
        this.setState({error: data.message, loading: false});
        return;
      }

      localStorage.setItem('token', res.data.token);
      localStorage.setItem('userName', res.data.user_nicename);
      localStorage.setItem('userId', res.data.user_id);
      this.setState({
        loading: false,
        token: res.data.token,
        userNiceName: res.data.user_nicename,
        userEmail: res.data.user_email,
        loggedIn: true,
      });
    })
    .catch(error => {
      this.setState({
        error: error.response.data,
        loading: false,
      });
    });
})}




 handleChange = text => {
    this.setState({
      username: text,
    });
  };

  render() {
    const {username, loggedIn, password} = this.state;

возврат заявления

<View style={styles.inputContainer}>
      <TextInput
        value={username}
        onChangeText={this.handleChange}
        placeholder="Name"
        underlineColorAndroid="transparent"
        style={styles.textInput}></TextInput>
    </View>
    <View style={styles.inputContainer}>
      <TextInput
        placeholder="Email"
        underlineColorAndroid="transparent"
        style={styles.textInput}></TextInput>
    </View>
    <View style={styles.inputContainer}>
      <TextInput
        value={password}
        onChangeText={pass => this.setState({password: pass})}
        placeholder="Password"
        underlineColorAndroid="transparent"
        secureTextEntry={true}
        style={styles.textInput}></TextInput>
    </View>

    <View style={{flexDirection: 'row'}}>
      <Button style={styles.signUp}>
        <Text style={styles.signUpText}>Sign Up</Text>
      </Button>
      <Button
        onPress={this.onFormSubmit}
        // onPress={() => this.props.navigation.navigate('Mainhome')}
        style={styles.login}>
        <Text style={styles.loginText}>LOG IN</Text>
      </Button>
    </View>
...