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尝试创建小提琴(再现您的问题)更好;)