1

이 응용 프로그램을 라우팅하기 위해이 https://github.com/reacttraining/react-router/tree/master/packages/react-router-redux에서 react-router-redux을 사용하고 있습니다. 하지만 난 항상 내 브라우저 콘솔에서 오류가 아래 얻을 :react-redux-router를 사용할 때`Element type is invalid : 문자열이 예상됩니다. '오류

Uncaught Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports. 

다음은 App 구성 요소의 소스 코드입니다.

const history = createHistory(); 
const rMiddleware = routerMiddleware(history); 
const logger = createLogger({ 
    log: 'info', 
}); 

const store = compose(
    applyMiddleware(thunk, authMiddleware, rMiddleware, logger) 
)(createStore)(combineReducers({...reducers, router: routerReducer})); 

export default class App extends Component { 
    render() { 
    return (
     <Provider store={store}> 
     <ConnectedRouter history={history}> 
      <Switch> 
       <Route exact path="/" component={Home} /> 
      </Switch> 
     </ConnectedRouter> 
     </Provider> 
    ); 
    } 
} 

아래는 홈 구성 요소 코드 :

class Home extends React.Component { 
    render() { 
    return <div>Home</div>; 
    } 
} 
const mapStateToProps = state => { 
    return { 
    }; 
}; 

const mapDispatchToProps = dispatch => { 
    return { 
    }; 
}; 
export default connect(mapStateToProps, mapDispatchToProps)(Home); 
+0

홈 & 로그인을 볼 수 있습니까? – Li357

+0

소스 코드를 업데이트했습니다. –

+0

저는 현재 반응 라우터 학습 곡선에 있습니다. 항상이 오류가 발생하면 import 문에서 경로 오류가 발생합니다 (ES6 모듈을 사용하고 있습니다). 너는 여기에 그걸 보여주지 않을거야. – Faust

답변

2

확인 마침내 문제를 발견 이러한 모든 코드는 프론트 엔드입니다. 버전 미스 매치 때문입니다. 반응 라우터 4.x.x와 호환되지 않기 때문에 버전 4.x.x 대신 "react-router-redux": "^5.0.0-alpha.9",을 사용해야합니다.