2016-03-23 5 views
1

В моем приложении React все мои компоненты могут обновляться через браузер, однако модуль, который я использую, называется jenkins-api, работает только тогда, когда я называю его сервером. Я могу получить данные и передать его в мой шаблон:Рендеринг или обновление элемента реагирования на сервере

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

Я сделал эту работу, имея мои Реагировать компоненты посылают запросы к серверу, как только они установлены, когда запрос получен мой экспресс-приложение будет посылать обратно соответствующие данные

Смежные вопросы