0
반응 라우터 4를 사용하여 조건부로 경로를 내 보냈습니까? 'history.push가 함수가 아닙니다.'오류가 발생합니다.반응 라우터 4의 내역. 푸시
리디렉션을 찾고 있지 않지만 브라우저의 뒤로 버튼도 사용할 수 있습니다.
import React from 'react';
import ReactDOM from 'react-dom';
import {BrowserRouter, Switch, Route, Redirect} from 'react-router-dom';
import Signup from './components/Signup';
import Welcome from './components/Welcome';
class App extends React.Component {
constructor() {
super();
this.state = {
isLoggedIn: false
};
}
render() {
return (
<BrowserRouter>
<div>
<Route exact path="/signup" component={Signup}/>
<Route exact path="/welcome" component={Welcome}/>
<Route exact path="/" render={() => (
this.state.isLoggedIn ?
history.push('/welcome') : history.push('/signup')
)}/>
<Redirect to="/"/>
</div>
</BrowserRouter>
);
}
}
ReactDOM.render(<App/>, document.getElementById('root'));
이 도움이 될 나 : 잘못 생각 브라우저 기록에 밀어 것입니다 : https://stackoverflow.com/questions/42474176/ 조건부 구성 요소를 사용하는 동일한 조건의 경로를 사용하는 반응 경로 – Dev
나는 그것을 보았다. 이 역사에 영향을 미치지 않습니다. 조건부로 구성 요소를 표시합니다. –