- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个简单的 React 应用程序,带有 React-Router 和 MaterializeCSS 用于样式设置。
Materialize 的 SideNav 起初可以工作,但是当我切换页面时,例如从根 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
}
)});
最佳答案
jQuery 和 React 在这里干扰很大。您最好使用 react-material's Drawer component 。它是用 React 编写的,使其更容易实现和维护。以下是他们文档中的示例:
import React from 'react';
import Drawer from 'material-ui/Drawer';
import MenuItem from 'material-ui/MenuItem';
import RaisedButton from 'material-ui/RaisedButton';
export default class DrawerUndockedExample extends React.Component {
constructor(props) {
super(props);
this.state = {open: false};
}
handleToggle = () => this.setState({open: !this.state.open});
handleClose = () => this.setState({open: false});
render() {
return (
<div>
<RaisedButton
label="Open Drawer"
onTouchTap={this.handleToggle}
/>
<Drawer
docked={false}
width={200}
open={this.state.open}
onRequestChange={(open) => this.setState({open})}
>
<MenuItem onTouchTap={this.handleClose}>Menu Item</MenuItem>
<MenuItem onTouchTap={this.handleClose}>Menu Item 2</MenuItem>
</Drawer>
</div>
);
}
}
我还建议切换到 Material-UI对于您想要构建的所有其他东西。
关于javascript - Materialisecss 的 SideNav 在 React Web App 中停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40534933/
我正在使用 materlizecss .我想创建一个带有多个开关(开-关)的表单,每个开关的标签都不同,所以开关没有对齐: 我希望它们对齐,所以每个“开关”都是右对齐的,文本是左对齐的,有点像这样:
我正在 Materializecss 中构建一个简单的单页组合。它在浏览器中看起来不错,但当我减小 Chrome 的大小时,它在移动设备中看起来很差。 它看起来像这样 Browser .但我需要将其放
我正在尝试使用 materializecss.com 在我的个人网站中调整 Material Design,但是该框架仅提供选项以排除 CARD 设计之上的其他图像。 我想实现如下链接 [第 2 行,
我正在使用带有自动完成选项的materializecss芯片,并使用ajax设置自动完成数据。该文档显示使用以下语法设置基本标签: $('.chips-autocomplete').chips({
最近我一直在为这个问题苦苦挣扎,但我一直无法调试问题的根本原因。起初,当我在我的网站上安装 materializecss 时,它工作得很好,但是当我设计 时使用我的自定义 CSS 然后它停止正常工作
场景: 我正在使用 Materializecss 自动完成,当我从自动完成框中选择一个项目时,应该触发 onchange 事件。 代码:
我有一个简单的 React 应用程序,带有 React-Router 和 MaterializeCSS 用于样式设置。 Materialize 的 SideNav 起初可以工作,但是当我切换页面时,例
我是一名优秀的程序员,十分优秀!