Как передать значение из собственного состояния реакции в веб-просмотр - PullRequest
0 голосов
/ 14 июля 2020

Я использую пакет webview, поддерживающий реакцию, в моем собственном проекте реакции.

Я действительно хочу передать параметры из собственного реагирования на URL-адрес для отображения внутри веб-просмотра

Моя реакция собственный код.

Здесь у меня есть доступ для получения электронной почты пользователя со страницы входа. Я хочу передать идентификатор электронной почты в URL-адрес или на страницу.

import React, { Component } from 'react';
import { WebView } from 'react-native-webview';
import { Dimensions, TouchableOpacity } from 'react-native';

class NewScreen extends Component {
  //const email = this.props.route.params.email;
  constructor(props){
    super(props);
    this.state={
      isShow:true,
      email:''
    }
    this.ref = React.createRef();
    const email = this.props.route.params.email;
    this.windowWidth = Dimensions.get('window').width;
    this.windowHeight = Dimensions.get('window').height;  
  }
  componentDidMount(){
    //console.log('Mounted')
    //console.log('state',this.props.email)
    console.log('mail',this.props.route.params.email)
    
  }
  render() {
    return (
      <WebView
        source={{
          uri: 'https://xxx/add-new-submit-form.php?email=abcd@gmail.com'
        }}
        
      />
    );
  }
}

export default NewScreen;

Мой ожидаемый результат.

const email_id = this.props.route.params.email -> Он содержит идентификатор электронной почты пользователя.

Теперь мне нужно передать значение email_id на php url

php url в веб-просмотре uri = https://xxx/add-new-submit-form.php?email=abcd@gmail.com '

Я хочу передать значение идентификатора электронной почты пользователя в uri.

1 Ответ

0 голосов
/ 15 июля 2020

Есть несколько способов сделать это. Просто это должно работать:

componentDidMount() {
  //...rest of the code
  const email_id = this.props.route.params.email;
  setState({ url: `https://xxx/add-new-submit-form.php?email=${email_id}` />
}

//On Render
<WebView source={{ uri: this.state.url }} />

...