我正在尝试构建一个符合最佳实践的同构React应用程序。我目前只是想为服务器找到一个好的系统。以下是我的一些要求:
props
我做了一个小样本应用程序,用来说明我的问题/困惑:https://github.com/maximilianschmitt/ipman
基本上,组件树如下所示:
RouteHandler
App
RouteHandler
Home
Ip
routes.js
'use strict';
const Router = require('react-router');
const App = require('./components/app');
const Home = require('./components/home');
const Ip = require('./components/ip');
const Route = Router.Route;
const routes = (
<Route handler={App}>
<Route name="home" path="/" handler={Home} />
<Route name="ip" path="/ip" handler={Ip} />
</Route>
);
module.exports = routes;
组件/ ip.js
class Ip extends React.Component {
render() {
return <div>Your ip is: {this.props.ip || 'undefined'}</div>;
}
}
/ip
,我希望服务器从http://ip.jsontest.com请求自己的IP地址,以某种方式将其传递给Ip
组件,然后将所有内容渲染为字符串让客户看到HTML。props
我理解像alt.js这样的库和其他同构的通量实现通过商店的概念来解决这个问题,但我想知道这是不是有点矫枉过正。
是否有一种简单的方法可以添加所需的功能?
答案 0 :(得分:0)
基于this article from react-router,我得到了一些似乎不是一个糟糕的解决方案。您可以在此处找到结果:https://github.com/maximilianschmitt/server-side-react