динамические сегменты, использующие базовое имя на стороне сервера — React-Router

#reactjs #react-router #isomorphic-javascript

#reactjs #реагирующий маршрутизатор #изоморфный-javascript

Вопрос:

У меня есть следующий код, написанный в моем server.js для изоморфного рендеринга.

 import { match, useRouterHistory } from 'react-router';
import createHistory from 'react-router/lib/createMemoryHistory';

import createHistory from 'react-router/lib/createMemoryHistory';
import { useBasename } from 'history'; 
import getRoutes from './routes';


const client = new ApiClient(req);
const memoryHistory = useRouterHistory(createHistory)({
    basename: '/in'
  });
const store = createStore(memoryHistory, client);
const history = syncHistoryWithStore(memoryHistory, store);

match({ history, routes: getRoutes(store), location: req.originalUrl }, (error, redirectLocation,   renderProps) => {
    console.log(error, redirectLocation, renderProps)
    // undefined, undefined, undefined returned
})
  

Теперь, когда я немного изменил параметры, чтобы проверить, где могут быть проблемы, я внес следующие обновления.

match({ history, routes: getRoutes(store) }, (error, redirectLocation, renderProps)

В итоге я получил следующий журнал:

 null { pathname: '/in/leagues',
  search: '',
  hash: '',
  state: null,
  action: 'REPLACE',
  key: 'meh7oq',
  basename: '/in',
  query: {} } undefined
  

Есть ли какой-то параметр, которого мне не хватает, или это базовое имя не предназначено для рендеринга на стороне сервера.

Я также пытался использовать useBasename функцию в истории

 const memoryHistory = useBasename(createHistory)({
    basename: '/in'
});