为什么我的firebase配置不起作用?

时间:2016-12-03 16:07:27

标签: firebase react-native

我试图尽可能地模块化我的代码。如果在github或其他东西上分享我的App.js,我不想继续删除ID,我只是将它包含在一个单独的文件中,只是.gitignore它。 / p>

出于某种原因,我的应用程序真的不喜欢我这样做的方式,而且我很难解决它。知道我做错了吗?

这是我的App.js文件:

import firebase from 'firebase';
import {
  apiKey,
  authDomain,
  databaseURL,
  storageBucket,
  messagingSenderId
} from './constants/Keys';

class App extends Component {
  constructor(props) {
    super(props);
    this._navContext = initNavigationContext();
  }

  componentWillMount() {
    const config = {
     apiKey,
     authDomain,
     databaseURL,
     storageBucket,
     messagingSenderId
   };

    firebase.initializeApp(config);
  }

  render() {
    return (
      <Provider store={Store}>
        <NavigationProvider context={this._navContext}>
          <StackNavigation navigatorUID="root" id="root" initialRoute={Router.getRoute('auth')} />
        </NavigationProvider>
      </Provider>
    );
  }
}

export default App;

我在这里省略了其他的import语句。

这是我的Keys文件:

const apiKey = '//////';
const authDomain = '//////';
const databaseURL = '//////';
const storageBucket = '//////';
const messagingSenderId = '//////';


const facebookAppID = '//////';

export default {
  apiKey,
  authDomain,
  databaseURL,
  storageBucket,
  messagingSenderId,
  facebookAppID
};

知道我在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

我认为您的问题是您正在尝试对默认导出进行解构,而ES6模块所做的是使用解构来进行命名导出。如果导入的值全部为undefined,则可能就是这种情况。您可以执行以下操作:

export const apiKey = '//////';
export const authDomain = '//////';
export const databaseURL = '//////';
export const storageBucket = '//////';
export const messagingSenderId = '//////';


export const facebookAppID = '//////';

然后它应该有用。