0
내가 연결 한 내-반응 생성 - 애플리케이션에와 npm run test
을 실행에 라우터 4 반응 반작용 나는 다음과 같은 오류 얻을 : 나는 [email protected]을 사용하고는 라우터 4 실패 상황에 맞는 유형
Warning: Failed context type: The context `router` is marked as required in `Switch`, but its value is `undefined`.
in Switch (at App.js:17)
in main (at App.js:16)
in div (at App.js:15)
in App (at App.test.js:7)
을, and [email protected]
내 <Switch>
구성 요소가 <BrowserRouter>
내에 중첩되어 있는지 확인했습니다.
App.js : 다른
import React, { Component } from 'react';
import { Switch, Route, withRouter, Router } from 'react-router-dom';
import './App.css';
// Components
import Header from '../../components/header/Header';
import Nav from '../../components/nav/Nav';
import Dashboard from './../../containers/dashboard/Dashboard';
import Events from './../../containers/events/Events';
import NotFound from './../../containers/notfound/NotFound';
class App extends Component {
render() {
return (
<div className="App">
<Header />
<Nav />
<main id="main">
<Switch context="router">
<Route path="/" exact component={Dashboard} />
<Route path="/events" exact component={Events} />
<Route path="*" component={NotFound} />
</Switch>
</main>
</div>
);
}
}
export default App;
을 내하는 index.js
import ReactDOM from 'react-dom';
import React from 'react';
import { BrowserRouter } from 'react-router-dom';
import { Provider } from 'react-redux';
import Store from './store';
import App from './containers/app/App';
import './index.css';
const StoreInstance = Store();
ReactDOM.render(
<Provider store={StoreInstance}>
<BrowserRouter>
<App />
</BrowserRouter>
</Provider>,
document.getElementById('root')
);
누구나이 건너?
항공권입니다. 테스트 함수의 ' '구성 요소가 redux 및 라우팅에 사용되는 다른 모든 구성 요소에 래핑되어야한다는 사실을 알지 못했습니다. Thanks @sergei –
Stretch0
'Provider'와 'BrowserRouter'를 'App'구성 요소로 이동하는 편집을 보았습니다. 좋은 해결책 – Stretch0