我有一个导出对象的节点模块(数据)。该对象具有值更改的属性。使用反应实时显示来自节点模块的数据
var data = require('data');
var count = data.count;
data.count
正在改变它的值(可以假装它是指望秒)。
我用快递和车把和我目前显示的数据是这样的:
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
res.render('index', { title: 'Home', data: count });
});
这样做,这样需要的页面被刷新看到更新后的值。我的问题是:如何在不刷新页面的情况下实时显示计数值?
我一直在调查反应但我真的不知道如何设置它。我阅读了一些关于反应模块(nom install react)的教程,但没有太多关于如何使用它的文档。我了解反应网站上的简易指南,但在客户端插入反应脚本。
如果有人能指出我的方向会很棒。
谢谢。
UPDATE:
因此,我安装npm insatll react
和npm install babel
并创建了一个组件中的反应,看起来像这样(comp.jsx
):
var React = require('react/addons');
var data = require('data');
var d = React.createClass({
render: function() {
return (
<h1>{data.votes}</h1>
);
}
});
module.exports.Component = d;
我包括在我的路线文件该组件现在看起来像这样:
require('babel/register');
var React = require('react/addons');
var data = React.createFactory(require('comp.jsx').Component);
router.get('/', function(req, res, next) {
var dataHtml = React.renderToString(data({}));
res.render('index', { reactOutput: data });
});
数据显示像这样放在我的车把模板中:{{{reactOutput}}}
。数据已显示但仍不实时更新,页面必须刷新以显示数据更改。
任何想法?
你目前使用什么js库? –
没有其他任何节点,表达式生成器和句柄。开放给任何可以给我我想要的功能的东西。 – Safinn
这个问题很广泛。您正在问如何在服务器和客户端之间同步模块的属性,以及如何在没有任何代码的情况下渲染更改值,以及如何检测对此属性的更改。 – FakeRainBrigand