Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 同构通量-在服务器上获取组件的数据_Node.js_Reactjs_Reactjs Flux_Isomorphic Javascript_Flummox - Fatal编程技术网

Node.js 同构通量-在服务器上获取组件的数据

Node.js 同构通量-在服务器上获取组件的数据,node.js,reactjs,reactjs-flux,isomorphic-javascript,flummox,Node.js,Reactjs,Reactjs Flux,Isomorphic Javascript,Flummox,在我最近的应用程序中,我一直在服务器上对每个请求使用Flux(带有flummox-)来进行同构渲染。一般情况如下: app.use(createFluxPerRequest); app.get('/some-route', (req, res) => { api.getData(data => { req.flux.getActions('items').receiveItems(data); next(); }); }); app.use

在我最近的应用程序中,我一直在服务器上对每个请求使用Flux(带有flummox-)来进行同构渲染。一般情况如下:

app.use(createFluxPerRequest);
app.get('/some-route', (req, res) => {
    api.getData(data => {
       req.flux.getActions('items').receiveItems(data);
       next();
    });
});
app.use((req, res) => {
    ReactRouter.run(routes, req.url, Handler => {
        res.render('base', {
            snapshot: new Buffer(req.flux.serialize(), 'utf-8').toString('base64'),
            appString: React.renderToString(
               React.createElement(Handler, { flux: req.flux })
            )
        });
    });
});
正如您所看到的,我一直在通过api服务接收数据,但是一些React组件自己在客户机上发出请求

他们通过调用容器组件中的
flux.getActions('items').getSomeDataAsync
action(在
componentDidMount
lifecycle方法中)来实现这一点

我的问题-根据您的经验,是否有可能在容器组件中包含一些方法,这些方法将在服务器上被调用,以调用其中的异步操作?请签出

尽管这项工作仍在进行中,但我认为这将“回答”你的问题

我们希望继续从组件中获取数据,但也可能将这些数据呈现在服务器端——这就是“同构”真正需要做出反应的地方


太糟糕了,在实际解决这个问题之前,这个同构词被炒作了

是的,我一直在使用一个同构API,它可以在一个基于react的大型同构SPA中从服务器和客户端调用

这个库使您能够以同构的方式构建API,并在客户端和服务器中重用它,而不会膨胀或破坏捆绑包。这就是我们目前在一个大的单页应用程序中使用的内容

它叫异吗啡,你可以在这里找到:

免责声明:我是这个图书馆的作者