2016-05-27 3 views
1

私は反応の定型文を設定してプロジェクトを開始しています。その後example.org/test/project-name反応の定型文のベースネームを設定してください

、我々はプロジェクトを公開するとき、それはexample.org/

に残り、私が使用したい:

当社のdevの環境には、例えば、サブパスでアプリの「DEV」バージョンを公開しますブラウザ履歴(HTML5 API)であり、ハッシュ履歴ではありません。しかし、これは、現在の環境に合わせてReact Routerのbasenameを設定する必要があることを意味します。

今、私はこの方法では、静的なベース名に設定しようとしています:

const browserHistory = useRouterHistory(useBasename(createHistory))({ 
    basename: '/test/project-name', 
}); 
const store = configureStore(initialState, browserHistory); 

をしかし、私はアプリケーションを実行すると、ホームページは/代わりの/test/project-name/のままです。


ので、質問がある:私が間違っているのは何

  1. は?
  2. どのように現在の環境に一致するベースネームにしますか?
+0

、あなたがこの問題を回避するために管理したのですか? – dimvic

+0

いいえ、私はただ諦めました。 –

答えて

-1

答えはreact-router documentationである:

はuseRouterHistoryはすでに歴史からuseQueriesとuseBasename増強剤を使用して歴史の工場を事前に強化することに注意してください。私は今、同じ船の午前

import { useRouterHistory } from 'react-router' 
import { createHistory } from 'history' 

const history = useRouterHistory(createHistory)({ 
    basename: '/base-path' 
}) 
+0

もう一度私の質問をお読みください。 –

+0

申し訳ありませんが、これは役に立ちません。 useBasename()をいくつかの異なる方法で最初に使用しようとしましたが、あなたが記述したのと同じ振る舞いをしています。ベース名は無視されています。この修正は私のために働いた。私はあなたもそれを試したと仮定し、それはあなたのために動作しませんでした。 – Claus

+1

私がすでに 'basename'を使っている質問で提供したコードでは、私の質問の要件に基づいて動的に設定する方法が必要です。 –

関連する問題