Css 反应改变状态触发转换
我有以下反应组件Css 反应改变状态触发转换,css,reactjs,transition,Css,Reactjs,Transition,我有以下反应组件 export interface IDivBodyVisible { isVisible: string; } export default class NavDropDownItem extends React.Component<{ItemContent: string}, IDivBodyVisible> { constructor(props: any) { super(props); this.state = {
export interface IDivBodyVisible {
isVisible: string;
}
export default class NavDropDownItem extends React.Component<{ItemContent: string}, IDivBodyVisible> {
constructor(props: any) {
super(props);
this.state = {
isVisible: 'none'
}
}
render() {
return (
<div className="divBox" >
<div className="divHeader" onClick={this.SwitchVisibility}>
<Icon className="icon" iconName="ChevronDown"/>
{this.props.ItemContent}
</div>
{
this.state.isVisible !== 'block' ? null :
<div className="divBody">
<ul className="ItemList">
<li>
<a className="miau" title="item1" onClick={this.ConsoleLog}>Item 1</a>
</li>
<li>
<a title="item2" onClick={this.ConsoleLog}>Item 2</a>
</li>
<li>
<a title="item3" onClick={this.ConsoleLog}>Item 3</a>
</li>
</ul>
</div>
}
</div>
)
}
private ConsoleLog = () : void => {
console.log("Test");
}
private SwitchVisibility = (): void => {
this.setState({
isVisible : this.state.isVisible === 'none' ? 'block' : 'none'
});
}
}
导出接口IDivBodyVisible{
isVisible:字符串;
}
导出默认类NavDropDownItem扩展React.Component{
构造器(道具:任何){
超级(道具);
this.state={
可见:“无”
}
}
render(){
返回(
{this.props.ItemContent}
{
this.state.isVisible!==“块”?空:
-
项目1
-
项目2
-
项目3
}
)
}
专用控制台日志=():无效=>{
控制台日志(“测试”);
}
私有交换机可见性=():无效=>{
这是我的国家({
isVisible:this.state.isVisible=='none'?'block':'none'
});
}
}
此时,如果我单击图标,divbody会立即出现。取而代之的是,我想让身体变得非常光滑。我已经试着给.divBox一个0.2的过渡,但是没有任何效果
有什么建议我可以试试吗?这听起来更像是一个与
CSS
相关的问题,而且你根本没有显示任何CSS
代码。你是否尝试添加延迟@是的,我也这么想,但我不确定。正如我提到的,我已经尝试过:.divBody{背景颜色:白色;边框样式:纯色;边框颜色:黑色;边框宽度:薄;过渡:放松0.2;}@Sodhisaab是的,我将其添加到了.diBody/.divBox中。与1000种类似的死代码相比,bothIts尝试创建小提琴(再现您的问题)更好;)