Egghead教程教导它像这样:
var React = require('react');
var Router = require('react-router');
var routes = require('./config/routes');
Router.run(routes, function(Root){
React.render(<Root />, document.getElementById('app'));
});
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个错误:
未捕获的TypeError:Router.run不是函数
注意:我已经更新react-router到最新版本.
我正在做一个使用react,redux和express的项目,我不明白react-router和express routes.js有什么区别,我需要将两者结合起来还是只使用一个?
https://github.com/reactjs/react-router
谢谢您的帮助 :)
我正在尝试为我的反应应用程序设置服务器端渲染,我正在尝试使用伟大的react-router模块来允许它处理非js情况(一些爬虫,当用户关闭某些js时原因).但是,我遇到了麻烦.我一直在使用/sf/answers/1999098181/这个很棒的回复作为指导,但是我发现了一些奇怪的错误.Syntax Error在尝试使用时我得到了持久性react.renderToString().我是否错误地设置了服务器端渲染,缺少明显的东西或其他什么?
我的设置:
真的很基本的Express服务器
require('babel/register');
var app = express();
// misc. express config...
var Router = require('react-router'),
routes = require('../jsx/app').routes,
React = require('react');
app.use(function(req, res, next) {
var router = Router.create({location: req.url, routes: routes});
router.run(function(Handler, state) {
console.log(Handler);
var html = React.renderToString(<Handler/>);
return res.render('react_page', {html: html});
});
});
Run Code Online (Sandbox Code Playgroud)
顶级反应<App/>组件
// Shims
require('intl');
require('es5-shim');
var React = require('react/addons'),
Router = require('react-router'),
Nav = require('./nav'),
injectTapEventPlugin = require("react-tap-event-plugin"),
window.React = React; // …Run Code Online (Sandbox Code Playgroud) 我正在努力将简单的反应应用程序部署到github页面.您将一个文件移动到错误的目录,它会关闭整个过程.
运行npm run build后我该怎么办?
这会把我的所有文件放到一个构建文件夹中,但是浏览器仍然会给我404错误,认为在初始url路由的"/"之后输入的任何内容都是从服务器查找实际文件.我只是想使用/在我的React路由器中设置的路由后... ... :(
http-status-code-404 github-pages reactjs webpack react-router
react-router ×4
reactjs ×4
express ×2
javascript ×2
flux ×1
github-pages ×1
node.js ×1
url-routing ×1
webpack ×1