【发布时间】:2016-03-09 17:09:24
【问题描述】:
我正在尝试在我的 react 应用程序中使用 React Router,该应用程序绑定为 wordpress 插件并使用通量来获取 api 数据。
我的入口点如下所示
import React from 'react';
import Workshops from './components/workshops';
import Workshop from './components/workshop';
import NotFound from './components/notfound';
import Router, { Route, DefaultRoute, NotFoundRoute, Redirect, Link } from 'react-router';
import json from './config.json';
localStorage.clear();
localStorage.setItem('workshops', JSON.stringify(json));
const AppRoutes = (
<Route path="/" handler={Workshops}>
<DefaultRoute handler={Workshop} />
<Route name="workshop" path=":slug" handler={Workshop}/>
<NotFoundRoute handler={NotFound} />
</Route>
);
Router.run(AppRoutes, Router.HashLocation, (Root) => {
React.render(<Root />, document.getElementById('workshop-booker'));
});
在我的 Workshops 组件中,我创建了一些指向给定路由的链接,我更改了哈希值,但路由组件没有被触发。
<h3> <Link to="workshop" params={{slug: workshop.slug }}> {workshop.title.rendered }</Link></h3>
【问题讨论】:
-
您要调试什么?
-
为什么被调用的路由没有被触发,在上面的示例中,我希望在哈希更改时,workop 组件会在 slug 上输出一个新视图
-
我也想调试它,但是服务器端带有
ReactRouter.createMemoryHistory(pagePath)。顺便提一句。在版本 1 和 2 中,它应该是component=而不是handler=— 这可能是您的问题吗? (&name=不见了)还有很多其他的东西也发生了变化 -
我找到了一个解决方案-> redux devtools
标签: hyperlink reactjs react-router