我用状态变量设置了MUI Box对象的高度,它工作得很好:状态一旦改变,大小就会相应改变.

现在我想对高度进行平稳过渡.我根据重命令设置了一个CSS文件,并在Box上使用了一个className.

CSS样式正在发挥作用("背景 colored颜色 "已被充分应用). 但是:从未发生过转变.高度如前所述变化,瞬间发生.

我try 过很多变通方法:在Box或sx的风格中定义过渡,但它也不起作用.

我甚至try 使用react-transition-group,但结果仍然是一样的:一切都工作得很完美,Box格式发生了变化,但转换不会发生,一切都是瞬间的.

帮助:)

我的代码:

import "./style.css"
(...)

  function VisibleSpotsFeedBox() {
    return(
    <Box  
      className='mypaperclass'
      sx={{
        display : "flex", 
        flexDirection : "column", 
        position:"fixed", 
        bottom: { xs:55, sm:65, md:65}, 
        left : 0, 
        right : 0, 
        borderTopLeftRadius : 20, 
        borderTopRightRadius : 20,
        height: (visibleSpotsState.displayFeed ? 300-(touchPosition.current - touchPosition.start) : 50-(touchPosition.current - touchPosition.start))
      }}
    >
    (...)
    </Box> 
    )
  }

Css:以下内容:

.mypaperclass {
    background-color : #9ACD32;
    transition: height 3s linear;
  }

推荐答案

您try 过关键帧而不是过渡吗?就像-

.mypaperclass {
    background-color : #9ACD32;
    animation: open 1000ms;
  }

@keyframes open {
  0% {
    height: 0px;
  }
}

Reactjs相关问答推荐

如何实现黑暗模式 map ?

为什么VScode中的React应用程序无法识别文件夹 struct ?

如何在react组件中使用formik进行验证

Redux Store未触发React组件中的重新呈现

使用`Link`包装`tr`标记会在Next.js中产生水合错误14

我应该如何管理设置组件初始状态的复杂逻辑?

获取更改后的状态值

使用Next.js和Next-intl重写区域设置

在 Next13 中将 props 传递给 onClick 从服务器到客户端组件

为什么在 React 的 useEffect 中使用 onAuthStateChanged ?

useRef 不关注模态

使用 react pro 侧边栏展开折叠菜单

React Three Fiber mesh 标签在此浏览器中无法识别

next js 13 在获取中使用标头时动态渲染而不是静态渲染?

来自一个自定义 React Native 组件的样式从另一个自定义组件移除样式

如何通过 React JS 中的映射将新元素添加到对象数据数组中

如何从 React Redux store 中删除特定项目?

错误:无效挂钩调用.钩子只能在函数组件的主体内部调用.使用 next/router 时

谁能根据经验提供有关 useEffect 挂钩的更多信息

Select MenuItem 时 Material-ui 不更改样式