У меня очень странная проблема, возникающая время от времени, и я не знаю, что она вызывает.Вот мои соответствующие версии пакета:
"react-router@^4.3.1"
"react-router-dom@^4.3.1"
Вероятно, это связано с версиями, которые я предполагаю, потому что эта проблема иногда не возникает.Но когда я удаляю node_modules
и строю проект с npm install
, я получаю следующую ошибку:
browser.js:34 Uncaught Error: You should not use <Link> outside a <Router>
at invariant (browser.js:34)
at Link.render (Link.js:113)
at finishClassComponent (react-dom.development.js:15320)
at updateClassComponent (react-dom.development.js:15275)
at beginWork (react-dom.development.js:16265)
at performUnitOfWork (react-dom.development.js:20285)
at workLoop (react-dom.development.js:20326)
at HTMLUnknownElement.callCallback (react-dom.development.js:147)
at Object.invokeGuardedCallbackDev (react-dom.development.js:196)
at invokeGuardedCallback (react-dom.development.js:250)
at replayUnitOfWork (react-dom.development.js:19509)
at renderRoot (react-dom.development.js:20439)
at performWorkOnRoot (react-dom.development.js:21363)
at performWork (react-dom.development.js:21273)
at performSyncWork (react-dom.development.js:21247)
at requestWork (react-dom.development.js:21102)
at scheduleWork (react-dom.development.js:20915)
at Object.enqueueSetState (react-dom.development.js:11596)
at LoadableComponent.push../node_modules/react/cjs/react.development.js.Component.setState (react.development.js:336)
at update (index.js:240)
at index.js:250
Я не могу использовать Link
вне Router
.
Так что теперь я снова сталкиваюсь с этой проблемой, и хотя я проверяю разные версии / ветви моего проекта, а затем удаляю node_modules
и package-lock.json
и затем npm install
: проблема не может быть решена,Сообщение об ошибке остается таким же, как указано выше.
Итак, мой вопрос: что еще может быть причиной проблемы, которой не было в других ветвях, но которая появляется при удалении node_modules
и внезапно появляется во всех других ветвях?
РЕДАКТИРОВАТЬ:
<HashRouter>
<Switch>
<Route exact path="/login" name="Login Page" component={Login} />
<Route exact path="/activateprofile" name="Benutzerkonto aktivieren" component={Activation} />
<Route exact path="/register" name="Register Page" component={Register} />
<Route exact path="/404" name="Page 404" component={Page404} />
<Route exact path="/500" name="Page 500" component={Page500} />
<PrivateRoute path='/' component={DefaultLayout} />
</Switch>
</HashRouter>