CSS 随 State 变化时的过渡 - React
Transition when CSS change with State - React
我有一个侧边栏,当我点击一个按钮时它会最小化。我使用了一个 Class 组件,我有一个状态来处理它。
如果true
,侧边栏宽度为200px。
如果false
,就是70px。
render() {
const SidebarStyled = styled.div`
width: ${this.state.sidebarOpen ? '200px' : '70px'};
position: fixed;
left: 0px;
top: 0px;
height: 100vh;
background-color: #0c1635;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
我想设置一个转换,但我不知道如何设置。
我找到的唯一解决方案是使用功能组件,而我的客户只需要 class 个组件。
有什么帮助吗?
我猜,您正在创建一个 const SidebarStyled
并基于 state.sidebarOpen
决定 width
的值,但问题是样式已解析并应用于组件,并且它不会随着状态的改变而改变。
我建议您创建两种样式 const,一种使用 width: 200px
,另一种使用 70px
,并基于 state.sidebarOpen
应用适当的样式 const。
我有一个侧边栏,当我点击一个按钮时它会最小化。我使用了一个 Class 组件,我有一个状态来处理它。
如果true
,侧边栏宽度为200px。
如果false
,就是70px。
render() {
const SidebarStyled = styled.div`
width: ${this.state.sidebarOpen ? '200px' : '70px'};
position: fixed;
left: 0px;
top: 0px;
height: 100vh;
background-color: #0c1635;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
我想设置一个转换,但我不知道如何设置。 我找到的唯一解决方案是使用功能组件,而我的客户只需要 class 个组件。
有什么帮助吗?
我猜,您正在创建一个 const SidebarStyled
并基于 state.sidebarOpen
决定 width
的值,但问题是样式已解析并应用于组件,并且它不会随着状态的改变而改变。
我建议您创建两种样式 const,一种使用 width: 200px
,另一种使用 70px
,并基于 state.sidebarOpen
应用适当的样式 const。