相关疑难解决方法(0)

React-Router:没有找到路由?

考虑以下:

var AppRoutes = [
    <Route handler={App} someProp="defaultProp">
        <Route path="/" handler={Page} />
    </Route>,

    <Route  handler={App} someProp="defaultProp">
        <Route path="/" handler={Header} >
            <Route path="/withheader" handler={Page} />
        </Route>
    </Route>,

    <Route handler={App} someProp="defaultProp">
        <Route path=":area" handler={Area} />
        <Route path=":area/:city" handler={Area} />
        <Route path=":area/:city/:locale" handler={Area} />
        <Route path=":area/:city/:locale/:type" handler={Area} />
    </Route>
];
Run Code Online (Sandbox Code Playgroud)

我有一个App Template,一个HeaderTemplate和一个具有相同处理程序的参数化路由集(在App模板中).我希望能够在找不到东西时提供404路线.例如,/ CA/SanFrancisco应该由Area找到并处理,而/ SanFranciscoz应该是404.

这是我如何快速测试路线.

['', '/', '/withheader', '/SanFranciscoz', '/ca', '/CA', '/CA/SanFrancisco', '/CA/SanFrancisco/LowerHaight', '/CA/SanFrancisco/LowerHaight/condo'].forEach(function(path){
    Router.run(AppRoutes, path, function(Handler, state){
        var output = React.renderToString(<Handler/>);
        console.log(output, '\n');
    });
});
Run Code Online (Sandbox Code Playgroud)

问题是/ SanFranciscoz总是由Area页面处理,但我希望它为404.另外,如果我将NotFoundRoute添加到第一个路由配置,所有Area页面404.

<Route handler={App} someProp="defaultProp">
    <Route path="/" …
Run Code Online (Sandbox Code Playgroud)

react-router

109
推荐指数
9
解决办法
11万
查看次数

做Twitter,Hash-Bang#等链接!网址

可能重复:
Facebook中的shebang/hashbang(#!)和新的Twitter URL是什么?

我想知道Twitter如何运作其链接.

如果您查看源代码,您可以使用/#!/ i/connect或/#!/ i/discover之类的链接,但它们没有附加到它们的JavaScript函数,如load('connect')或其他东西,并且它不需要重新加载页面.它只是改变了页面内容.

我看到了这个页面,但是所有这些文件都必须存在,你不能直接进入其中一个.我想在Twitter上,每个文件都不存在,而且它是用其他方法处理的.如果我错了,请纠正我.

有没有办法可以复制这种效果?如果是这样,是否有关于如何进行此操作的教程?

html javascript seo hashbang

26
推荐指数
1
解决办法
3万
查看次数

标签 统计

hashbang ×1

html ×1

javascript ×1

react-router ×1

seo ×1