React 水平扩展

React Horizontal expand

提问人:Brandon W 提问时间:5/31/2023 最后编辑:skyboyerBrandon W 更新时间:5/31/2023 访问量:108

问:

反应水平扩展。我在 React 中为这么简单的事情而苦苦挣扎。我正在尝试在单击按钮时将我的 Div 容器从 500px 扩展到 900px 或全宽。我只能让它出现和消失。请问我错过了什么?使用 React 钩子。提前致谢

代码笔:

codepen.io/brandonwirz/pen/dygBPrb

` 反应水平扩展。我很接近,但在折叠时容器消失了。同样,我希望
容器从 500px 左右变为 900px 或全宽,反之亦然。

const Collapse = ({ collapsed, expanded, children }) => {
const [isCollapsed, setIsCollapsed] = React.useState(collapsed)
//   const [isExpanded, setIsExpanded] = React.useState("");
return (
 <div className="container">
   <button
    className="collapse-button"
    onClick={() => setIsCollapsed(!isCollapsed)}
  >
    {isCollapsed ? "Show small" : "Show expanded"} content
  </button>
  <div
    className={`collapse-content ${isCollapsed ? "collapsed" : "expanded"}`}
    aria-expanded={isCollapsed}
  >
    {children}
  </div>
 </div>
  )
}

````
reactjs react-hooks 可扩展

评论

0赞 Dimitar 5/31/2023
也在这里发布代码的 CSS。社区不应为了找到有关您的问题的其他信息而去其他方面。

答:

0赞 pjaoko 5/31/2023 #1

js 工作正常,问题出在 CSS 上。您看不到这些更改,因为您已将容器的宽度设置为 500px,并为其指定了边框。应删除这些样式,并改为在 .collapse-content 上设置。

.container {
  height: 300px;
  padding:10px;
  
}
.collapse-button {
  width: 180px;
}

.collapse-content {
  border: solid 3px grey;
  margin-top: 1em;
}
.collapse-content.collapsed {
  width:500px;
}

.collapsed-content.expanded {
  width:900px;
 
}

评论

0赞 Brandon W 5/31/2023
谢谢你看了太久,感谢你的帮助——一切正常。
0赞 John Ocean 5/31/2023 #2

在 CSS 中:

你写了这个

.collapsed-content.expanded { width:900px; }

这是错误的。

写这个

.collapse-content.expanded { width:900px; }

这是一个拼写错误。

评论

0赞 Brandon W 5/31/2023
谢谢你忽略了我的拼写错误。修复了 CSS.codepen.io/brandonwirz/pen/dygBPrb