1

)リアサイドルータv4を使用してサーバ側レンダリングを実行しようとしています。そこにあるすべてのドキュメントは高速サーバーを使用していますが、私はWindows iisを使用しています。私はそれがクライアントだけレンダリングで動作するようになることができますが、私はサーバー側をレンダリングしようとすると、エラー "ハッシュの歴史は、DOMが必要"を取得します。助言がありますか?リアクタルータ4 IISを使用したサーバサイドレンダリング(

すべてが正しくインポートされているので、下のコードからインポートを削除しています。

const createStoreWithMiddleware = applyMiddleware(ReduxPromise)(createStore); 
 

 

 
const someText = <p><strong>Some JSX component</strong><br/>Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p> 
 
const simpleContent = (props) => { console.log(props); return (<SimpleContent placeholders={{leftColumn: <Counter data={{title: 'Nested counter'}}/>, rightColumn: <Timer data={{title: 'Nested counter'}}/>}}/>) } 
 

 
const RouteHub = (props) => { 
 
    return (
 
     <Provider store={createStoreWithMiddleware(reducers)}> 
 
      <HashRouter> 
 
      <div> 
 
       <h1>Title</h1> 
 
       <ul> 
 
        <li><Link to="/">Home</Link></li> 
 
        <li><Link to="/simple">Simple Content</Link></li> 
 
       </ul> 
 
       <Switch> 
 
       <Route exact name="index" path='/' component={simpleContent}/> 
 
       <Route name="simple" path='/simple' component={SimpleContent}/> 
 
       </Switch> 
 
      </div> 
 
      </HashRouter> 
 
     </Provider> 
 
    ) 
 
} 
 

 
export default RouteHub;

+1

サーバ上でHashRouterの代わりに 'StaticRouter'を使うべきです。 https://reacttraining.com/react-router/core/api/StaticRouter – egig

+0

ありがとうございます。それは問題を解決しました! – Nicholas

答えて

1

エラーHashRouterの代わりにStaticRouterを使用することによって解決された:ここでは

は、コードがあります。

ありがとうegig!