Реагирование-маршрутизация, когда я ввожу URL-адреса, они не работают, но когда я начинаю с root, я могу получить к ним доступ

#react-router #url-mapping

#реакция-маршрутизатор #сопоставление url

Вопрос:

Новичок в react framework и пытаюсь собраться с мыслями о react-router. Следуя руководству, в котором используется история хэшей (которая устарела), я теперь использую историю браузера

код:

 import React from 'react';
import ReactDOM from 'react-dom';
import {Router, Route, IndexRoute, browserHistory} from 'react-router';

import Bootstrap from './vendor/bootstrap-without-jquery.min';

import Archives from './pages/Archives';
import Featured from './pages/Featured';
import Layout from './pages/Layout';
import Settings from './pages/Settings';

const app = document.getElementById('app');
ReactDOM.render(
<Router history={browserHistory}>
  <Route path="/" component={Layout}>
    <IndexRoute path="/featured" component={Featured} />
    <Route path="archives/:article" name="archives" component={Archives}></Route>
    <Route path="settings" component={Settings}></Route>
</Route>
</Router>,
app);
  

это мой макет:

 import React from 'react';
import { Link, Router, browserHistory } from 'react-router';

export default class Layout extends React.Component{
navigate(){
    browserHistory.push("/");
}

render(){
    return(
        <div>
            <h1>KillerNews.net</h1>
            {this.props.children}
            <Link to="archives" class="btn btn-info">archives</Link>
            <Link to="settings" class="btn btn-info">settings</Link>
            <button onClick={this.navigate.bind(this)}>featured</button>
        </div>
    );
  }
}
  

Я не могу вводить URL-адреса, я могу получить к ним доступ только при запуске из root. У меня нет никаких путей, настроенных на стороне сервера, просто запускающих webpack, babel и react.

Комментарии:

1. Хорошо, я вижу, что когда я использую hashHistory, я могу ввести в свою адресную строку (параметры url url), но когда я использую browserHistory, я получаю 404. Нужно ли мне подключать сервер, чтобы установить конечную точку для этих URL-адресов, чтобы использовать browserHistory или я что-то здесь упускаю

2. Мне не нужно сопоставлять URL-адреса на серверной части….. ПРЯМО СЕЙЧАС ЧУВСТВУЮ СЕБЯ НОВИЧКОМ!!!