Реакция именованного импорта не работает.становится неопределенным - PullRequest
0 голосов
/ 03 марта 2019

Это мой Utils.js файл:

import axios from 'axios'
import { setCurrentUser, Logout } from './Redux/Actions/UserActions'
import UserApi from './Redux/Api/UserApi'

const TOKEN_NAME = 'atoken'
const LANGUAGE_TOKEN_NAME = 'gocvlang'
const ACCCEPTED_LANGUAGES = 'en'
const SAVED_USER_KEY = 'saveduser'

export { TOKEN_NAME, SAVED_USER_KEY, ACCCEPTED_LANGUAGES, LANGUAGE_TOKEN_NAME }

И это `Api.js

import axios from 'axios'
import { TOKEN_NAME, LANGUAGE_TOKEN_NAME, ACCCEPTED_LANGUAGES } from '../../Utils'
console.log(TOKEN_NAME);

/* global localStorage */
const UserToken = localStorage.getItem(TOKEN_NAME)
const Lang = localStorage.getItem(LANGUAGE_TOKEN_NAME)

Это то, что я получаю на console.log(TOKEN_NAME в строке 3:

undefined

Может кто-нибудь сказать мне, в чем проблема?

РЕДАКТИРОВАТЬ:

import axios from 'axios'
import { setCurrentUser, Logout } from './Redux/Actions/UserActions'
import UserApi from './Redux/Api/UserApi'

const TOKEN_NAME = 'atoken'
const LANGUAGE_TOKEN_NAME = 'gocvlang'
const ACCCEPTED_LANGUAGES = 'en'
const SAVED_USER_KEY = 'saveduser'

export { TOKEN_NAME, SAVED_USER_KEY, ACCCEPTED_LANGUAGES, LANGUAGE_TOKEN_NAME }

/* global localStorage */
export const logout = () => {
  localStorage.removeItem(SAVED_USER_KEY)
    localStorage.removeItem(LANGUAGE_TOKEN_NAME)
    localStorage.removeItem(TOKEN_NAME)
}

export const authenticated = (token = '', lang = null) => {
    if(token.length < 10) {
      return false;
    }

  if(! validateLanguage(lang))  {
    return false;
  } 

    localStorage.setItem(TOKEN_NAME, token)
    localStorage.setItem(LANGUAGE_TOKEN_NAME, lang)
}


export const AuthOnReload = (store) => {
  const savedUser = localStorage.getItem(SAVED_USER_KEY)

  if(! savedUser) {
    return console.log('no saved user');
  }

  if(! localStorage.getItem(TOKEN_NAME)) {
    return console.log('no user token');
  }
  try {

    const user = JSON.parse(savedUser);
    console.log(user, 'User Set');
    store.dispatch(setCurrentUser(user, localStorage.getItem(TOKEN_NAME)))

    UserApi.verify(user).then(res => console.log(res))
  } catch (Exception) {
    return;
  }



  /**
   * @ CHECK IF CURRENT USER MATCHES TOKEN
   */
}






export const validateLanguage = (lang) => {
  if(! lang) {
    lang = localStorage.getItem(LANGUAGE_TOKEN_NAME);
  }

  return ACCCEPTED_LANGUAGES.indexOf(lang) >= 0;
}

Api.js

import axios from 'axios'
import { TOKEN_NAME, LANGUAGE_TOKEN_NAME, ACCCEPTED_LANGUAGES } from '../../Utils'
console.log(TOKEN_NAME);

/* global localStorage */
const UserToken = localStorage.getItem(TOKEN_NAME)
const Lang = localStorage.getItem(LANGUAGE_TOKEN_NAME)
/**
 * Default Authenticated Api
 */
export default axios.create({
  baseUrl: window.proxy,
  headers: {
    'Authorization': `Bearer ${UserToken}`,
    'Accept-Language': Lang
  },
  validateStatus: function (status) {
    console.log(status);
    return status >= 200 && status < 300; // default
  }
})

/**
 * Default Unauthenticated Api
 * 
 */
export const GuestApi = axios.create({
  baseUrl: window.proxy
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...