【发布时间】:2022-01-14 12:00:10
【问题描述】:
早安。
我正在尝试对来自 firestore 的文本使用“阅读更多”按钮
<section className="escritos">
{escritos.map(escrito => {
return (
<div>
<p>
Autor: <strong>{escrito.autor}</strong>
</p>
<p>
{" "}
Título: <strong>{escrito.titulo}</strong>
</p>
<div id="obras">
{" "}
{readmore
? parse(escrito.escrito)
: parse(escrito.escrito.substring(0, 200))}
<button id="readmore" onClick={() => setReadmore(!readmore)}>
{readmore ? "ler menos" : "ler mais"}
</button>
<Link to="#beginning">
<BsFillArrowUpCircleFill />
</Link>
</div>
<hr />
</div>
);
})}
</section>
它正在工作。但它同时适用于所有按钮。
我已经尝试过使用react-read-more,但是因为我必须使用parse(escrito.escrito) 来删除html 标签,所以出现了错误。删除解析,它可以工作,但显示标签。
我相信它与地图有关,但我还没有能够解决它。
这里是 site,如果有帮助,这里是 repository。
提前感谢您的关注和时间。
【问题讨论】:
-
您应该将键设置为映射的元素。但我不确定这是否会解决这个问题
-
嘿费兰。我刚刚听从了你的建议和 raqibrasheed 的建议。但按钮仍然同时工作。
标签: javascript reactjs map-function