Повторно отобразить веб-вид на bottomTabNavigator - PullRequest
0 голосов
/ 17 февраля 2020

Как я могу заново визуализировать веб-представление, работающее внутри приложения, созданного с помощью собственного кода. Например: вкладка корзины должна загружать один и тот же URL каждый раз, когда я нажимаю на нее.

Это класс корзины:

import React, { useState } from 'react';
import { ActivityIndicator, WebView, View, Button, ScrollView,
  RefreshControl,
  Text, } from 'react-native';
import Config from '../config';



export default class CarrinhoScreen extends React.Component {

  reload() {
    this.myWebView.reload()
  }

  render() {
    return (
    <>
        <View style={{ flex: 1 }}>
          <WebView
            source={{ uri: 'https://www.genieshopp.com/checkout/cart/' }}
            userAgent='bring-app'
            startInLoadingState={true}
            ref={(ref) => this.myWebView = ref}
          />
        </View>
    </>
    )
  }
};

Вот где создается tabNavigator:

import React from 'react';
import { Platform } from 'react-native';
import { createStackNavigator, createBottomTabNavigator } from 'react-navigation';
import CarrinhoScreen from '../screens/CarrinhoScreen';

const config = Platform.select({
  web: { headerMode: 'screen' },
  default: {},
});

const CarrinhoStack = createStackNavigator(
  {
    Carrinho: CarrinhoScreen
  },
  config
);

CarrinhoStack.navigationOptions = {
  tabBarLabel: 'Carrinho',
  tabBarIcon: ({ focused }) => (
    <TabBarIcon focused={focused} name={Platform.OS === 'ios' ? 'ios-cart' : 'md-cart'}/>
  ),
};

CarrinhoStack.path = '';

const tabNavigator = createBottomTabNavigator(
{
  CarrinhoStack,
  },
  {
    backBehavior: 'history'
  }
);

tabNavigator.path = '';

export default tabNavigator;

Я знаю, что есть myWebView.reload (), но я хочу знать, как перезагрузить его, когда переключается нижняя вкладка или когда я нажимаю на тот же значок.

1 Ответ

0 голосов
/ 18 февраля 2020

Решено путем ввода resetOnBlur: CarrinhoScreen после backBehavior: history Вы можете установить на него любой другой экран, который хотите сбросить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...