javascript - React.js 切换隐藏显示显示问题
问题描述
我试图 React 切换显示隐藏并遇到问题。
我用 map 函数调用了我的数组。然后我使用切换功能进行了打开隐藏的情况,但问题从这里开始。一旦我单击任何项目,整个数组就会显示和隐藏。
我在这里做错了什么?我只想查看我单击的项目的隐藏显示状态,但它们都已列出。
我的代码:
export default function App() {
const [show, setShow] = useState(false);
const toggleHandler = () => {
setShow(!show);
};
return (
<div className="App">
{example.map((item) => (
<>
<div onClick={toggleHandler}>
<p style={{ margin: 0, fontWeight: "bold" }}>
{`${item.year} - Total: `} <span>{item.price}</span>
</p>
</div>
{show ? <div>{item.monthlyInstallment}</div> : ""}
</>
))}
</div>
);
}
我的示例文件:CodeSandbox
解决方案
目前,状态布尔值对所有项目都是通用的。
您可以创建具有自己的本地show
状态的项目组件。
如果您不想创建子组件,您可以使用地图,其键将是项目id
作为状态,值将是布尔值show
沙盒:https ://codesandbox.io/s/toggle-example-forked-ijt82?file=/src/App.js
推荐阅读
- tinymce-5 - TinyMCE 如何支持从 Word 粘贴的内容中的分页符
- python-3.x - 当标签不在本体中但可以在 URI 中找到时,从 owl 本体中提取标签
- nestjs - 将 nestjs DI 与类验证器一起使用
- android - 如何在复选框上使用边距,以便它们彼此位于
- postgresql - 使用 PostgreSQL select into 获取多列时出现问题
- sap-ase - 如何在 Sybase DB 中列出分配给他们的用户和角色
- java - 如何重新运行静态整数数组?
- reactjs - 值被重置但输入不是?
- ruby - 登录后在 ruby 中访问路由
- json - 如何获取服务器从 reqwest http 调用发回的数据?