昨天,我在尝试进入商店时遇到问题。它说不可能在初始化之前访问商店,但是使用和导入商店的文件只能在组件中调用,该组件是组件树的一部分,因此只能在包含商店的应用程序之后呈现。 >
因此,在意识到一些事情之后,我得出的结论是:无法将存储导入到不属于组件树的文件中。就我而言,我导入了它以创建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()
// ...
出现此错误的我的应用的