
本文旨在解决如何使用 React 和 Lodash,在动态生成的 HTML 元素中,实现点击事件来切换特定元素的显示和隐藏状态。通过使用 useState 管理类名,并结合 onClick 事件动态修改状态,可以有效地控制元素的可见性,适用于从数据库动态获取数据并渲染的场景。
在 React 中,当需要动态渲染组件,并且希望对每个组件的特定元素进行操作(例如,点击按钮显示/隐藏内容)时,直接使用 document.getElementById 通常不可行,因为动态生成的元素可能具有相同的类名。 本文将介绍一种使用 useState Hook 管理类名,并通过 onClick 事件动态切换状态的方法,来实现这一目标。
首先,我们需要使用 useState Hook 来存储和更新要操作的元素的类名。 这允许我们根据组件的状态来动态地改变元素的样式。
import React, { useState } from 'react';
import _ from "lodash";
const dummyData = {
columnOne: "item one",
columnTwo: "item two",
columnThree: "item three"
};
function TestPage() {
const [visibleColumns, setVisibleColumns] = useState({});
const toggleContent = (key) => {
setVisibleColumns(prevState => ({
...prevState,
[key]: !prevState[key]
}));
};
return (
_.map(dummyData, (data, key) => {
return (
<div key={key}>
<div className="column-container">
<p className="heading">{key}</p>
<div
className="show-content-btn"
onClick={() => toggleContent(key)}
style={{ cursor: 'pointer' }}
>
V
</div>
</div>
<p
className="content"
style={{ display: visibleColumns[key] ? 'block' : 'none' }}
>
{data}
</p>
</div>
);
})
);
}
export default TestPage;在上面的代码中:
立即学习“前端免费学习笔记(深入)”;
通过使用 useState Hook 和 onClick 事件,我们可以轻松地实现动态显示/隐藏 HTML 元素的功能。 这种方法适用于各种需要动态控制元素可见性的场景,例如,展开/折叠内容、显示/隐藏详细信息等。重要的是,要理解 React 的状态管理机制,并根据实际情况选择合适的实现方式。
以上就是使用 React 和 Lodash 动态显示/隐藏 HTML 元素的详细内容,更多请关注php中文网其它相关文章!
HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号