#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'
});