2016-03-23 31 views
1

在我的React應用程序中,我所有的組件都可以通過瀏覽器自行更新,但是我使用的模塊名爲jenkins-api僅在我稱之爲服務器端時才起作用。我能得到的數據,並將其傳遞到我的模板是這樣的:渲染或更新服務器上的react元素

require("babel-core/register")({presets: ['es2015', 'react']}); 
var express = require('express'); 
var router = express.Router(); 
var React = require('react'); 
var ReactDOM = require('react-dom'); 
var Component = require('../src/javascripts/components/Areachart'); 
var jenkinsapi = require('jenkins-api'); 
var jenkins = jenkinsapi.init('https://username:[email protected]:8080', {strictSSL: false}); 

router.get('/', function(req, res, next) { 
    jenkins.all_jobs(function(err,jenkins-res){ 
    if (err) { 
     console.log(err) 
    } 
    res.render('index', { title: 'My App', data: JSON.stringify(jenkins-res) }); 
    }) 
}); 

但我無法使這些數據提供給我的反應成分,我非常希望能夠做這樣的事

router.get('/', function(req, res, next) { 
    jenkins.all_jobs(function(err,jenkins-res){ 
    if (err) { 
     console.log(err) 
    } 
    res.render('index', { title: 'My App', data: Component.setState({prop1: jenkins-res.prop1, prop2: jenkins-res.prop2 }); 

我都甚至試圖使整個陣營組成:

res.render('index', { title: 'My App', data: ReactDOM.render(React.createElement(Component), document.getElementById('main'))}); 

但由於document不存在,這不起作用。我想用.setState或類似的東西來更新服務器檢索數據時我的組件的狀態 - 這可能嗎?

感謝

回答

0

我通過接收到請求時,有一次,他們已經安裝我的反應的組分請求發送到我的服務器,使這個工作我明確的應用程序將發回相關數據

相關問題