import React, {Component} from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './app/App' import * as serviceWorker from './serviceWorker'; import ApolloClient from "apollo-boost"; import {ApolloProvider} from "react-apollo"; import {IntlProvider, addLocaleData} from 'react-intl'; //如果浏览器没有自带intl,则需要在使用npm安装intl之后添加如下代码 // import intl from 'intl'; import zh from 'react-intl/locale-data/zh'; import en from 'react-intl/locale-data/en'; import zh_CN from './language/zh_CN.js'; import en_US from './language/en_US.js'; import {graphqlUrl} from "./config"; addLocaleData([...en, ...zh]); const client = new ApolloClient({ // uri: "http://service-eucrnpse-1254337200.ap-guangzhou.apigateway.myqcloud.com/release/graphql" uri: graphqlUrl }); let browserLanguage = (navigator.language || navigator.browserLanguage).toLowerCase().split('-')[0]; let language = browserLanguage === 'zh'? "中文" : "English"; class MainApp extends Component { constructor() { super(); sessionStorage.setItem("language", language); this.state = { language: sessionStorage.getItem("language") }; } changeLanguage = (language) => { // console.log("index changeLanguage",language); this.setState({ language: language }); }; chooseLocale = (language) => { let locale, messages; switch (language) { case "English": locale = 'en'; messages = en_US; return {locale, messages}; case "中文": locale = 'zh'; messages = zh_CN; return {locale, messages}; default: locale = 'zh'; messages = zh_CN; return {locale, messages}; } }; render() { let {language} = this.state; let {locale, messages} = this.chooseLocale(language); return ( ) } } ReactDOM.render(, document.getElementById('root')); serviceWorker.unregister();