Eine Basis-URL mit Redux-Router + React-Router zu einer App hinzufügen
Ich benutze React-Router 1.0.0-rc3 zusammen mit Redux-Router 1.0.0-beta3.
Wenn Sie React-Router verwenden, können SieuseBasename
mitcreateHistory
, um die Basis-URL für eine App festzulegen, sodass Sie problemlos eine App schreiben können, die in einem Unterverzeichnis ausgeführt wird.Beispie:
An Stelle von
import { createHistory } from 'history';
let base = "/app_name/"
<Router history={browserHistory}>
<Route path={base} component={App}></Route>
</Router>
<Link path={base + "some_path"}>some_path</Link>
Sie können auf diese Weise mit @ schreibuseBasename
:
import { createHistory, useBasename } from 'history';
const browserHistory = useBasename(createHistory)({
basename: "/app_name"
});
<Router history={browserHistory}>
<Route path="/" component={App}></Route>
</Router>
<Link path="/some_path">some_path</Link>
In Redux-Router müssen Sie jedochcreateHistory
Anstatt vonhistory
zu einem Reduzierer:
const store = compose(
applyMiddleware(m1, m2, m3),
reduxReactRouter({
routes,
createHistory
}),
devTools()
)(createStore)(reducer);
Wie können wir @ verwenduseBasename
in diesem Fall