Рендеринг на стороне сервера React Router 4 с использованием IIS, а не экспресс

Я пытаюсь выполнить рендеринг на стороне сервера, используя react-router v4. Вся документация использует экспресс-сервер, но я использую Windows 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;


person Nicholas Porter    schedule 11.05.2017    source источник
comment
Вы должны использовать StaticRouter вместо HashRouter на сервере. reacttraining.com/react-router/core/api/StaticRouter   -  person egig    schedule 11.05.2017
comment
Спасибо. Это решило проблему!   -  person Nicholas Porter    schedule 11.05.2017


Ответы (1)


Ошибка устранена путем использования StaticRouter вместо HashRouter.

Эгиг спасибо!

person Nicholas Porter    schedule 11.05.2017