我希望能够在 Flummox 操作中进行 API 调用,并根据响应进行不同的转换。我可以将路由器传递给操作调用,但我正在寻找一种可能更好的方法的建议。
更新:
正确答案如下,但我想为此添加一些细节。
我正在做一个同构应用程序,1. 需要从 api 获取数据,2. 可能需要根据 api 响应进行重定向。无论我做什么都需要通过 express.js 应用程序和 react 来工作。
我做了一个小库来执行 api 调用并返回一些结果。我将一个对象传递给它(从 express 中查询参数对象用于服务器端或我为反应端创建的类似对象)。这个库发出请求,确定是否需要重定向并传回错误、路径(字符串)、重定向(布尔值)和数据(json)。
在 express 中,如果重定向布尔值为真,我只需使用当前查询参数重定向到它。如果它是假的,我通过一个更新商店的动作将数据传递给flux。然后,我使用 react 渲染ToString,序列化存储,以便 clint 端可以引导,并将渲染页面发送到客户端。
在反应中,重定向布尔值并不重要,我从我的库中获取响应,将数据传递给我的通量操作,然后转换到任何路径。确实没有重定向的概念。无论如何都要走上这条路。
希望这对某人有帮助。