0
私はスタイリングのためにReact-RouterとMaterializeCSSを持つ簡単なReact Appを持っています。MaterializecssのSideNavがReact Web Appで動作しなくなる
MaterializeのSideNavは最初は動作しますが、ページを切り替えると、例えばroot urlからurl/loginに移動すると動作しなくなり、メニューアイコンをクリックするとハッシュURL/login#が追加されます。おそらく、react-routerとbrowserHistoryと関係があります。
は、ここで問題に関連するコードです:
firebase.auth().onAuthStateChanged((user) => {
if(user){
browserHistory.push('/');
} else{
}
});
let loginRedirect = (nextState, replace, next) => {
if(firebase.auth().currentUser){
store.dispatch(actions.startLogout());
replace('/');
} else{
next();
}
};
ReactDOM.render(
<Provider store={store}>
<Router history={browserHistory}>
<Route path="/" component={Layout}/>
<Route path="/login" component={Login} onEnter={loginRedirect}/>
</Router>
</Provider>
,app);
$(document).ready(function(){$('.button-collapse').sideNav({
menuWidth: 200,
edge: 'left',
closeOnClick: true,
draggable: true
}
)});
私はmaterialize-cssとReactをプロジェクトに使用していましたが、コンフリクトが頻発してしまったので、私は再びその組み合わせを使用しませんでした。ファビアンが言っているように、私はマテリアルUIコンポーネントをあなたの代わりに働かせることをお勧めします。彼らは良く見えますが、Reactで書かれています。 – Katpas