#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-адреса на серверной части….. ПРЯМО СЕЙЧАС ЧУВСТВУЮ СЕБЯ НОВИЧКОМ!!!