不能从不属于组件树的文件中导入存储Redux吗? “初始化前无法访问存储”

时间:2019-08-02 13:14:24

标签: reactjs redux react-redux

昨天,我在尝试进入商店时遇到问题。它说不可能在初始化之前访问商店,但是使用和导入商店的文件只能在组件中调用,该组件是组件树的一部分,因此只能在包含商店的应用程序之后呈现。 >

因此,在意识到一些事情之后,我得出的结论是:无法将存储导入到不属于组件树的文件中。就我而言,我导入了它以创建axios实例,该实例获得了商店的状态,并被用来对作为应用程序一部分的组件进行api调用。

我正确地说,无法将存储导入不是组件文件的文件,即不是主应用程序树的一部分吗?

例如:

第1步:我已经在“商店/索引”中初始化商店:

const store = configureStore(//...)
export default store;

第2步:我将商店导入“应用程序/索引”中:

import store, { history } from "store";
const App = () => (
  <Provider store={store}>
    <AppRouter history={history} />
  </Provider>
);

步骤3:我将存储导入“ http / private”中,以获取状态并在axios实例中调度:

import store from store;
const {access, token} = store.getState().login.token; // store returns undefined when the componente call this

第4步:我在应用程序3的“ componentes / haderNav / index”中导入包含商店导入的“ http / private”:

import apiPrivate from "http/private"
// ...
const userData = await apiPrivate.getUserData() 
// ...
出现此错误的我的应用的

源代码:https://gitlab.com/marcosroot/webstation.dev-client

0 个答案:

没有答案