Javascript 如何在Gatsbyjs中根据初始加载时的IP地址重定向用户

Javascript 如何在Gatsbyjs中根据初始加载时的IP地址重定向用户,javascript,reactjs,session-cookies,gatsby,session-storage,Javascript,Reactjs,Session Cookies,Gatsby,Session Storage,我正在尝试建立一个盖茨比(react-based)网站,根据用户的IP地址自动将用户重定向到不同的语言索引页面 下面是我的代码结构: layout.en.js import React, { Component } from 'react' import axios from 'axios' class Layout extends Component { state = {countryCode: ''} componentWillMount() { this.getIp()

我正在尝试建立一个盖茨比(react-based)网站,根据用户的IP地址自动将用户重定向到不同的语言索引页面

下面是我的代码结构:

layout.en.js

import React, { Component } from 'react'
import axios from 'axios'

class Layout extends Component {
 state = {countryCode: ''}

  componentWillMount() {
    this.getIp()
  }

  getIp = () => {
    axios
      .get('https://ipapi.co/json/')
      .then(response => {
        let data = response.data
        this.setState({
          countryCode: data.country_code,
        })
      })
      .catch(error => {
        console.log(error)
      })
  }
render(){
    if (this.state.countryCode === 'CN') {
      window.location = '/cn/'
    }
} return 
(...)
}
上述设置的问题是,用户将无法切换回英文站点,每次尝试访问默认索引页面时,它都会继续重定向他们。我知道我可能需要实现cookie或会话存储来解决这个问题,但我不确定如何实现。如果有人能帮助我完成这个过程,那就太好了