react-router-rails 服务器端呈现正确的组件,但绕过父组件
react-router-rails server side renders the correct component, but bypasses the parent component
我正在尝试使用 flux
、react-rails
、react-router-rails
和 [= 在 rails 上使用服务器端渲染在 ruby 中编写一个应用程序15=],几乎基于 this tutorial and this repo。到目前为止,我已经设法编写了一个简单的两级路由配置,并且它似乎工作正常,因为正在呈现正确的处理程序。问题是,除了根 url (/
) 之外,所有 url 的根处理程序(我的应用程序组件)都被忽略了。即:
我的routes.js.jsx
是这样的:
// app/assets/javascripts/routes.js.jsx
var Route = ReactRouter.Route,
DefaultRoute = ReactRouter.DefaultRoute;
var MyApp = require('./components/MyApp');
var Login = require('./components/session/Login');
var Scrapping = require('./components/scrapping/Scrapping');
var Router = (
<Route name="app" path="/" handler={MyApp}>
<DefaultRoute handler={Login} />
<Route name="login" path="login" handler={Login}/>
<Route name="scrapping" path="scrapping" handler={Scrapping}/>
.
.
.
</Route>
);
module.exports = Router;
每当我去 /
时,都会呈现 App --> Login
。但是如果我转到/login
或/scrapping
,则分别只渲染Login
或Scrapping
。
知道为什么会这样吗?我应该在哪里看? here's the repo
感谢您的帮助!
问题在于,唯一呈现的组件是由 react-router-rails
在服务器端生成的组件,但应用程序并未 bootstrap 在客户端上运行。为了解决它,我包含了一个文件 bootstrap 对客户做出反应。您可以在发布分支上检查我的 repo(link on the cuestión)的工作设置。查找名为 app/assets/javascripts/app.js 或类似名称的文件。对不起,我不能说得更具体,但我正在旅行,我正在用我的智能手机接听电话。希望对你有帮助。
我正在尝试使用 flux
、react-rails
、react-router-rails
和 [= 在 rails 上使用服务器端渲染在 ruby 中编写一个应用程序15=],几乎基于 this tutorial and this repo。到目前为止,我已经设法编写了一个简单的两级路由配置,并且它似乎工作正常,因为正在呈现正确的处理程序。问题是,除了根 url (/
) 之外,所有 url 的根处理程序(我的应用程序组件)都被忽略了。即:
我的routes.js.jsx
是这样的:
// app/assets/javascripts/routes.js.jsx
var Route = ReactRouter.Route,
DefaultRoute = ReactRouter.DefaultRoute;
var MyApp = require('./components/MyApp');
var Login = require('./components/session/Login');
var Scrapping = require('./components/scrapping/Scrapping');
var Router = (
<Route name="app" path="/" handler={MyApp}>
<DefaultRoute handler={Login} />
<Route name="login" path="login" handler={Login}/>
<Route name="scrapping" path="scrapping" handler={Scrapping}/>
.
.
.
</Route>
);
module.exports = Router;
每当我去 /
时,都会呈现 App --> Login
。但是如果我转到/login
或/scrapping
,则分别只渲染Login
或Scrapping
。
知道为什么会这样吗?我应该在哪里看? here's the repo 感谢您的帮助!
问题在于,唯一呈现的组件是由 react-router-rails
在服务器端生成的组件,但应用程序并未 bootstrap 在客户端上运行。为了解决它,我包含了一个文件 bootstrap 对客户做出反应。您可以在发布分支上检查我的 repo(link on the cuestión)的工作设置。查找名为 app/assets/javascripts/app.js 或类似名称的文件。对不起,我不能说得更具体,但我正在旅行,我正在用我的智能手机接听电话。希望对你有帮助。