view.js 1.1 KB
/**
 * @author sheng
 * @description 隐私政策
 * @date 2020/09/03
 */
import React, { useEffect, useState } from 'react'
import { View, ActivityIndicator } from 'react-native'
import WebView from 'react-native-webview'
import { Colors } from '../../../commo/theme'
import { APP } from '../../../config'
import { styles } from './style'

const Page = ({ navigation }) => {
  const [show, setShow] = useState(false)
  const indicator = () => {
    return (
      <View style={styles.wrapper}>
        <ActivityIndicator size={'large'} color={Colors.primary} />
      </View>
    )
  }

  useEffect(()=>{
    setShow(true)
    const remove = navigation.addListener('beforeRemove', e => {
        e.preventDefault()
        setShow(false)
        remove()
        navigation.goBack()
    })

    return () => remove && remove()
  }, [])

  return (
    <View style={{ flex: 1 }}>
      { show && 
        <WebView
          style={{ flex: 1 }}
          startInLoadingState={true}
          renderLoading={indicator}
          source={{ uri: APP.privacyLink }}
        />
      }
    </View>
    
  )
}

export default Page