Я использую реактивный маршрутизатор, и все работает нормально, за исключением случаев, когда я перехожу непосредственно к URL. Например, если я нажал ссылку в приложении, которая идет на «/ quizreview? QuizId = nAUl3DmFlX», она работает без проблем. Но если бы я вошел в URL "http://localhost:3000/quizreview?quizId=nAUl3DmFlX" он говорит:Переход к URL-адресу маршрутизатора напрямую не работает.
не может получить/quizreview quizId = nAUl3DmFlX
Вот мой маршрутизатор код:
ReactDOM.render((
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={UserQuiz} onEnter={loginRequired}/>
<Route path="/login" component={Login}/>
<Route path="/quiz/:id" component={Quiz}/>
<Route path="/quizreview" component={PostQuiz}/>
<Route path="/quizquestions/:quizId" component={QuestionForm}/>
<Route path="/questionreview/:questionId" component={QuestionReview}/>
<Route path="/noquestions" component={NoQuestionsDialog}/>
</Route>
</Router>
), document.getElementById('app'));
Могу ли я делать что-то здесь не так? Я последовал за учебником React-Router, и он работает нормально, и я считаю, что я следовал тем же инструкциям, но с этой проблемой.
Реакция не является моей сильной стороной, но я предполагаю, что если вы заблокируете это за «loginRequired», при прямом посещении URL-адреса пользователь больше не будет аутентифицирован и, следовательно, модуль будет заблокирован от загрузки. Если это не так, попробуйте использовать 'hashHistory' вместо' browserHistory'. –