我开始使用Antd和react-starter-kit来构建管理模板
如果我禁用javascript,我会得到这样的结果

但是启用了js后,我得到了正确的js。

同样,当第一次加载页面时,它会从1快速变为2(在启用js的情况下)
这是react组件
class Layout extends React.Component {
static propTypes = {
children: PropTypes.node.isRequired
};
constructor(props) {
super(props);
this.state = {
siderFold: false
};
this.switchSider = this.switchSider.bind(this);
}
switchSider() {
this.setState({
siderFold: !this.state.siderFold
});
}
render() {
return (
<div>
<AntDLayout>
<AntDLayout.Sider
className={s.sider}
trigger={null}
collapsible
collapsed={this.state.siderFold}
>
<Sidebar siderFold={this.state.siderFold} />
</AntDLayout.Sider>
<AntDLayout className={s.layout}>
<Header
siderFold={this.state.siderFold}
switchSider={this.switchSider}
/>
<AntDLayout.Content>{this.props.children}</AntDLayout.Content>
</AntDLayout>
</AntDLayout>
</div>
);
}
}我尝试为.ant-layout类禁用这些样式
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;我得到了第一张图片的结果,所以我猜它与SSR上的flex有关,对此有帮助吗?
发布于 2018-10-25 15:54:51
使用最新版本的antd,只需添加hasSider属性即可解决此问题。
示例:
之前:
<AntDLayout>
// other components.
</AntDLayout>之后:
<AntDLayout hasSider>
// other components.
</AntDLayout>查看关于完全相同的内容的问题:https://github.com/ant-design/ant-design/issues/8604
https://stackoverflow.com/questions/48091812
复制相似问题