ReactJS jquery.min.js: 2 Uncaught Error: синтаксическая ошибка, нераспознанное выражение: # / login - PullRequest
0 голосов
/ 12 февраля 2019

У меня возникает проблема с React-route-dom Link всякий раз, когда я пытаюсь использовать ее в Navbar, она выдает мне эту ошибку:

Uncaught Error: Syntax error, unrecognized expression: #/login
    at Function.ga.error (jquery.min.js:2)
    at ga.tokenize (jquery.min.js:2)
    at ga.select (jquery.min.js:2)
    at Function.ga [as find] (jquery.min.js:2)
    at r.fn.init.find (jquery.min.js:2)
    at new r.fn.init (jquery.min.js:2)
    at r (jquery.min.js:2)
    at r (scrollspy.min.js:1)
    at HTMLDivElement.<anonymous> (scrollspy.min.js:1)
    at Function.each (jquery.min.js:2)

Эта ошибка появляется в консоли, когда я запускаю свой локальный хост, нокогда я захожу на связанную страницу по URL и возвращаюсь на домашнюю страницу без обновления, ошибка исчезает.

Я пытался использовать переключатель данных, но он не работал.

<ul className="nav navbar-nav navbar-right" id="mySidenav2">
  <li>
    <button
      type="button"
      className="btn btn-custom navbar-btn btn-rounded waves-effect waves-light"
    >
      <Link to="/signup" data-target="#mySidenav2">
        SIGNUP
      </Link>
    </button>
  </li>
  <li>
    <button
      type="button"
      className="btn btn-custom navbar-btn btn-rounded waves-effect waves-light"
    >
      <Link to="/login" data-target="#mySidenav2">
        LOGIN
      </Link>
    </button>
  </li>
</ul>

Мой код маршрутизации:

render() {
  return (
    <div className="App">
      <HashRouter>
        <Switch>
          <Route exact path="/" component={HomePage} />
          <Route path="/stats/:hashCode" component={Stats} />
          <Route exact path="/login" component={Login} />
          <Route path="/thanks" component={Thanks} />
          {/* <Route path="/:hashCode" component={Signup} /> */}
          <Route path="/signup/:hashCode" component={Signup} />
          <Route path="/signup" component={Signup} />
          <Route path="/verify/:hashCode" component={Verify} />
        </Switch>
      </HashRouter>
    </div>
  );
}

1 Ответ

0 голосов
/ 13 февраля 2019

Я думаю, вам не следует переносить ссылку внутри кнопки.При нажатии на него, вам нужно направить к компоненту, поэтому зачем заключать его в кнопку.Если вы хотите, чтобы ваша ссылка выглядела как кнопка, используйте CSS для стилизации, но не оборачивайте ее внутри кнопки или <li>

...