【问题标题】:Understanding React Router params了解 React 路由器参数
【发布时间】:2017-04-12 16:20:50
【问题描述】:

我有一个静态路由 list 和一个动态路由 user/:id。 在 2 个页面之间导航会出现问题 (1) 当从 user/:id 导航到 list 时,它会将其附加为 user/list(2)user/:id 上刷新页面时,我得到Uncaught SyntaxError: Unexpected token < jquery-3.1.1.min.js:1,这会破坏所有样式。

如果我导航到的路由是list,我如何告诉路由器不要追加?

为什么不刷新动态路由时会抛出jQuery SyntaxError?

import React, { Component } from 'react';
import { Router, Route, browserHistory, indexRoute } from 'react-router';

import Root from './components/Root';
import Home from './components/Home';
import ComponentA from './components/ComponentA';
import ComponentB from './components/ComponentB';

class App extends Component {
  render() {
    return (
        <Router history={browserHistory}>
          <Route path="/"  component={Root}>
          <indexRoute component={Home} />
          <Route path="list" component={ComponentA} />
          <Route path="users/:id" component={ComponentB} />
        </Route>
      </Router>
    );
  }
}

export default App;

编辑:我发现these answers 建议将type="text/jsx" 添加到src。当我这样做时,我现在没有收到 syntaxError,但 js(菜单下拉菜单、模式等)代码不起作用。

...
    <script type="text/jsx" src="./jquery/jquery-3.1.1.min.js"></script>
    <script type="text/jsx" src="./bootstrap/js/bootstrap.min.js"></script>
    <script type="text/jsx" src="./custom.js"></script>
  </body>

【问题讨论】:

  • 你用的是什么版本的 react 路由器?
  • @JoshuaTerrill 我正在使用"react-router": "^2.8.1"

标签: javascript jquery reactjs react-router


【解决方案1】:

很可能您的链接定义不正确。您可能错过了一个/,它告诉路由器您正在尝试重置路径。

<Link to="/link" />

而不是

<Link to="link" />

【讨论】:

  • 谢谢。解决了第一个问题。关于第二个问题有什么建议吗?
  • 是的,您的路线定义错误..您在动态路线的路径上缺少 /
  • 对不起,这是一个错字(更新后),我在路线中没有 / 因为据我了解,如果您嵌套路线 - 父级为 &lt;Route path="/" component={Root}&gt;&lt;/Route&gt; - 所有子路线都将有 / 来自基础父路由。不是这样吗? ...但我尝试使用 / 它仍然抛出 syntaxError。
  • 因此该错误消息看起来就像您的服务器正在捕获所有内容并返回 html 文件而不是 js 文件。检查你的进口
  • @D'loDeProjuicer 可能是一条错误的道路。尽量不要在 html 导入中使用相对路径。而是有一个绝对路径。你也可能不需要 jquery,因为你正在使用 react
猜你喜欢
  • 1970-01-01
  • 2017-04-17
  • 2017-02-26
  • 1970-01-01
  • 2022-10-15
  • 2017-08-19
  • 1970-01-01
  • 2020-09-10
  • 2021-10-01
相关资源
最近更新 更多