Giriş/Çıkış'ın bir ev, profil, vb. Olduğu bir uygulama oluşturuyorum. Oturum açtığım uygulamanın son rotayı geçmesini istiyorum. Bazen ziyaret ettiğimde çalışır, sonra giriş yapar ve giriş yaparsam, uygulama kökünü '/' ziyaret etsem de ve sonra giriş yapın, ve giriş yapın, bu beni (ki, tarayıcınızı veya sekmenizi açtığınızda varsayılan sayfa olurdu) olduğum ilk sayfaya götürür. Bunu böyle yazmıştım ve yapmış olduğum yolun çok naif olduğunu düşünüyorum. Ben çok denir render yönteminde yaptım. Sanırım bununla bir ilgisi var ama tamamen emin değilim. Bazı tavsiye, kodu için umuyordum: Bazen doğru gerçekleştirir giriş yapmadan önce biraz beklemek durumundagoBack() beni ilk girişe kadar tüm yoluma götürmek istediğim yere
constructor(props, context) {
super(props, context);
this.state = UserStore.getState();
this.context = context;
}
render() {
console.log(this.state.user.get('authenticated'));
if(this.state.user.get('authenticated')){
this.context.history.goBack();
}
return (
//stuff
)
i tarihe, ben de fark ettim ben her ziyaret rotayı bir devlet itmek durumunda, belki de geçmiş a'ya ekler biraz geç veya biraz zaman alır? Tamamen hata ayıklama hakkında gitmek için emin değil, console.log (this.context.history) sadece yanlış bir yerde bakıyor olabilir sanırım kendi fonksiyonlarının bir demet gösterir?
yolları:
export default (
<Route component={App}>
<Route path="/" component={Dashboard} />
<Route path="dashboard" component={Dashboard} onEnter={requireAuth} />
<Route path="about" component={About} />
<Route path="profile" component={Profile} onEnter={requireAuth}/>
<Route path="login" component={LoginSignupPage} />
<Route path="channels" component={Channels} />
</Route>
);
enjekte tepki-yönlendirici sorununuzu çözebilir
import React from 'react';
import ReactDOM from 'react-dom';
import Iso from 'iso';
import createBrowserHistory from 'history/lib/createBrowserHistory';
import { Router } from 'react-router';
import alt from 'altInstance';
import routes from 'routes.jsx';
import injectTapEventPlugin from 'react-tap-event-plugin';
window.React = React;
injectTapEventPlugin();
/*
* Client side bootstrap with iso and alt
*/
Iso.bootstrap((state, _, container) => {
alt.bootstrap(state);
ReactDOM.render(<Router history={createBrowserHistory()} children={routes} />, container);
});
Evet, işte burda, benBrowserHistory yaratıyorum, bu yüzden iyi olmalı. – Karan
Bugün öğrendim, createMemoryHistory ile tamamıyla gayet iyi çalışıyor, ancak url değişmez, yani localhost'a giderse: 3000/ve localhost: 3000/hakkında dizinlenmiş rotayı gösterecek ve sadece oradan gezinebilirsiniz – Karan