РЕАКТ - Сочетание BrowserHistory и MemoryHistory - PullRequest
0 голосов
/ 04 декабря 2018

Мне было интересно, смогу ли я объединить BrowserHistory и MemoryHistory для достижения чего-то вроде следующего:

Страница A (/ pageA должен принять этот URL) => и с этого момента использовать memoryHistory, чтобы практически не манипулировать URL

Страница B (/ pageB должен принять этот URL) => и с этого момента использовать memoryHistory, чтобы практически не манипулировать URL

моим кодом:

const history = createMemoryHistory({
  initialEntries: ['/PageA', '/PageB', '/PageBResult', '/PageAResult'],
  initialIndex: 1
});

const store = configureStore(history);

ReactDOM.render(
  <Provider store={store}>
    <ConnectedRouter history={history} >
      <App />

    </ConnectedRouter>
  </Provider>,
  document.getElementById('root') as HTMLElement
);

ОТВЕТ В конце концов, я сам все понял, для тех, кто интересуется, как этого добиться, пожалуйста, сделайте следующее

в вашем webpack.config

 devServer: {
     historyApiFallback: true //add this line
    }

в вашем index.html

const resolveInitialIndex = () =>{
   if(window.location.pathname.indexOf('PageB') > - 1)
     return 1;

    return 0;

}
const history = createMemoryHistory({
      initialEntries: ['/PageA', '/PageB', '/PageBResult', '/PageAResult'],
      initialIndex: resolveInitialIndex()
    });

    const store = configureStore(history);

    ReactDOM.render(
      <Provider store={store}>
        <ConnectedRouter history={history} >
          <App />

        </ConnectedRouter>
      </Provider>,
      document.getElementById('root') as HTMLElement
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...