Javascript 使用Redux状态初始化Axios客户端
我正在开发一个React/Electron应用程序,我想使用Redux存储中的数据初始化Axios客户端。例如,在第一次加载应用程序时,用户输入一些信息,比如用户名。这将被推送到Redux存储并保存在localStorage中以供将来使用,然后在axios客户端的baseURL中用于后续网络请求 问题是,我无法让axios使用react redux和connect函数。Axios的函数导出似乎被导出的HOC隐藏,每次调用其函数时,都会出现以下错误: TypeError:_Client2.default.get不是函数 我的客户看起来像这样: 从axios导入axios; 从react redux导入{connect}; const Client={init}=>{ 返回axios.create{ baseURL:`http://${init.ip}/api/${init.username}` }; }; 常量mapStateToProps=状态=>{ 返回{init:state.init}; }; 导出默认连接 MapStateTops, {} 客户Javascript 使用Redux状态初始化Axios客户端,javascript,reactjs,redux,axios,Javascript,Reactjs,Redux,Axios,我正在开发一个React/Electron应用程序,我想使用Redux存储中的数据初始化Axios客户端。例如,在第一次加载应用程序时,用户输入一些信息,比如用户名。这将被推送到Redux存储并保存在localStorage中以供将来使用,然后在axios客户端的baseURL中用于后续网络请求 问题是,我无法让axios使用react redux和connect函数。Axios的函数导出似乎被导出的HOC隐藏,每次调用其函数时,都会出现以下错误: TypeError:_Client2.defa
我做错了什么?在react-redux文档中,它说返回connect是一个包装函数,它接受您的组件并返回一个包装组件及其注入的附加道具。所以它返回包裹react组件的react组件。您的函数返回axios客户端,它不会呈现任何内容 我更喜欢使用action creators并在那里进行api调用,因此我不会传递axios客户端或其他任何东西。但如果我决定这样做,我会在reducer中初始化axios客户端并保存在存储中。然后将其作为道具传递给客户
const mapStateToProps = state => {
return { axios: state.axios };
};
在@Ozan的回答之上,在这种情况下,您可以创建一个主组件,将其与redux连接,并在装载时发送一个操作来初始化axios客户端。您应该在加载App.js之前启动axios客户端。我建议您可以使用redux axios作为redux中间件,并使用action调用api