라우터를 사용하여 구성 요소에 소품을 전달해야합니다. 당신이 볼 수 있듯이, 내가 구성 요소를 로그인을 전달할 소품을 IsAuthenticated는반응성이 높은 라우터 -dom 패스 구성 요소를 구성 요소에 반박하십시오.
import React, { Component, PropTypes } from 'react';
import { connect } from 'react-redux';
import AppBarTop from './appbar/AppBarTop';
import Login from '../pages/login/Login';
import {BrowserRouter as Router, Route} from 'react-router-dom';
class App extends Component {
render() {
const { isAuthenticated } = this.props;
return (
<Router>
<div>
<AppBarTop isAuthenticated={isAuthenticated} />
<div className="content">
<Route path="/login" isAuthenticated={isAuthenticated} component={Login} />
</div>
</div>
</Router>
);
}
}
: 다음은 내 코드입니다. 내가 소품 로그인하면
class Login extends Component {
constructor(props) {
super(props);
console.log(props);
}
render() {
return (
<LoginForm />
);
}
}
export default connect(null) (Login);
는 는 소품이없는 IsAuthenticated는. 내가 뭘 잘못하고있어? 소품을 올바르게 통과시키는 방법은 무엇입니까? 나는 그 문서들과 다른 토론들을 따라 갔다. 내 이해에서 그것은 작동합니다.
이<Route
path="/login"
render={(props) => <Login {...props} isAuthenticated={isAuthenticated}/>}
/>
그것은 로그인 구성 요소에 this.props.isAuthenticated
으로 사용할 수 있어야합니다 : 의 버전이 반응 라우터 및 반응 라우터-DOM을 같은 4.0.0