В моем приложении 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
или что-то подобное обновлению состояния моего компонента, когда данные были получены сервером - это возможно?
Благодаря