与刚开始的反应,经过多年的jQuery高度控制阵营
我想渲染的书籍列表中的一些简单的事情可以得到坚硬,因为描述太长,以显示我想限制div的高度。 onClick我想要显示完整的说明文字并关闭它,如果再次点击。
像这样:https://jsfiddle.net/nb1u1f9t/
这里是我的功能呈现书籍列表:
renderBooks(){
return(
<div>
<h3>List of available books</h3>
<ul className="list-group">
{this.props.books.map((book)=>{
return (
<li key={book.id} className="list-group-item">
<div className="cover-img"><img src={book.cover_img} alt="" className="img-responsive" /></div>
<div className="book-info">
<ul className="list-group">
<li className="list-group-item active"><h4>Name: {book.name} </h4></li>
<li className="list-group-item">Pages: {book.pages_i}</li>
<li className="list-group-item">Genre: {book.genre_s}</li>
<li className="list-group-item">Price: {book.price}</li>
<li className="list-group-item">Description: <div className="description-frame">{renderHTML(book.description)}</div><div className="view-all" onClick={}>View All</div></li>
</ul>
</div>
</li>
);
})}
</ul>
</div>
);
我将不胜感激的总体思路如何能在完成阵营的风格?我觉得应该有一些与国家有关的东西,但不能想到如何正确地做到这一点。另外不知道如何通过点击事件处理特定书籍的上下文。
React的方式去做这件事将是切换CSS类。比方说,你有一个'.closed'类,它限制了描述的高度,然后当你点击描述时添加一个'onClick'处理器切换到'.open'类 - 类似于它的实现方式在你的小提琴中。看到这个:https://facebook.github.io/react/docs/handling-events.html –
谢谢Kenneth,你的链接和https://stackoverflow.com/questions/42630473/react-toggle-class-onclick回答这个问题,我能做到这一点:)虽然我不得不作出描述,并单击div作为一个单一的组成部分,所以这种状态在每本书中分开 –