2016-02-12 6 views
1

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

Теперь проблема заключается в том, что для IndexRoute моя маршрутизация работает нормально, но для последующего маршрута она ломается. Согласно моему анализу, агент-ответчик отлично отображает второй компонент, но метод ReactDOM.render добавляет «#» к URL-адресу после успешного рендеринга. Он смущает реактивный маршрутизатор и делает его отображающим маршрут по умолчанию.

Может ли кто-нибудь помочь мне решить эту проблему?

Примечание: Я задаюсь вопросом, почему ReactDOM.render добавляет пустой «#» к URL

+0

Можете ли вы изменить свой вопрос и добавить немного кода? –

ответ

0

Вполне вероятно, что вы не включили функцию «browserHistory» предоставленный React-маршрутизатор (последний я проверил, что дефолт 'hashHistory').

Попробуйте добавить это основной (клиентской EntryPoint для вашего React приложения) файла:

import { render } from 'react-dom' 
import { Router, browserHistory } from 'react-router' 
import routes from './routes' 

/* The rest of your other code... */ 

render(
    <Router history={browserHistory} routes={routes} />, 
    document.getElementById('app') 
) 

И посмотреть, если вы все еще получаете эту проблему.

Смежные вопросы