Я пытаюсь протестировать компонент с MemoryRouter
, как указано в документах React-router, с начальными заданными записями, чтобы у меня могли быть параметры внутри упакованного компонента.
Пример компонента:
render () {
console.log(this.props.match.params.item)
}
В приложении (отлично работает):
<Router>
<Switch>
<Route exact path='/' render={() => (
<Redirect to={`/${guessLocale()}`} />
)} />
<Route exact path='/:lang' component={Home} />
<Route exact path='/:lang/:itemName' component={Vidactic} />
</Switch>
</Router>
В тесте (монтирование из фермента совпадение не определено):
mount(<MemoryRouter initialEntries={['/fr/pamp']}>
<Vidactic />
</MemoryRouter>)
Итак, я использовал этот обходной путь, но почему initialEntries не будет работать сам по себе?
mount(<MemoryRouter initialEntries={['/fr/pamp']}>
<Vidactic match={{ params: { item: 'pamp' } }} />
</MemoryRouter>)