【问题标题】:Making an external object available in middleware code使外部对象在中间件代码中可用
【发布时间】:2016-01-18 08:55:19
【问题描述】:

所以我有这个问题。我已经使用 Webpack 将我的 React+Redux 应用程序打包到一个文件中。我这样做是为了让 React 使用 init 函数进行渲染。

var api = {
    init: function(rootDiv, anAPIObject) {
        ReactDOM.render(
            <Provider store={store}>
                <div>
                    <MyApp />
                </div>
            </Provider>,
            document.getElementById(rootDiv)
        );
    }
};

module.exports = api;


Foobar.init(rootDiv, anAPIObject);

但是,我还想传递我计划在中间件代码中使用的第二个参数(如上所示)。它是某种 API 库,需要在 React+Redux 代码之外。

const aMiddleware = store => next => action => {
    // TODO: Use anAPIObject here
}

export default aMiddleware;

有没有办法让anAPIObject 在中间件中可用?

【问题讨论】:

  • 你的意思是说你想在MyApp中使用一个APIObject?
  • @DhavalPatel 从技术上讲,是的。但我只打算在中间件代码中使用它。
  • 你为什么不做一个独立的商店,它可以像中间件一样,你可以在每个组件中使用它

标签: reactjs middleware redux


【解决方案1】:

您可以创建一个 middleware.js 文件并在组件中使用它

module.exports = {
  Func1: function() {
    return "HELLO";
  },

  Funmc2: function() {
    return "Hola";
  }
};

在 MyApp 组件中你可以使用

var Middleware=require('./Middleware');
Middleware.Func1()

【讨论】:

    猜你喜欢
    • 2012-02-23
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多