Как изменить состояние экрана при React Navigate - PullRequest
0 голосов
/ 10 июля 2020

Мне нужно изменить состояние компонента с помощью прослушивателя на Navigator

function TabOneNavigator({navigation}) { 
  
  React.useEffect(() => {
    const unsubscribe = navigation.addListener('tabPress', e => {

      if(global.webview.startUrl != global.webview.props.source.uri){
        //here i need use this method resetWebViewToInitialUrl() from component
      }
    });

    return unsubscribe;
  }, [navigation]);

  return (
    <TabOneStack.Navigator>
      <TabOneStack.Screen
        name="Perfil"
        component={TabOneScreen}
        options={{ headerTitle: 'IzyJob' }}
      />
    </TabOneStack.Navigator>
  );
}

И это мой компонент

export default class App extends React.Component {

  this.state = {
    key: 1,
    url: 'https://www.google.com'
  };
  
  resetWebViewToInitialUrl = () => {
    this.setState({
      key: this.state.key + 1
    });
  };

  render() {
    return <WebView 
    key={ this.state.key }
    ref={(ref) => { global.webview = ref; }}
    source={{ uri: this.state.url }} 
    onNavigationStateChange={this._onNavigationStateChange.bind(this)}
    style={{ marginTop: 0 }} />;
  }
}

Я пытаюсь использовать реквизиты, но я не знаю, как навигация, я пытаюсь использовать глобальную, но не работает

Спасибо

...