【发布时间】:2019-12-29 04:41:17
【问题描述】:
- 我是反应钩子的新手,
- 最初在我的应用中,所有用户的名字都应该被隐藏。
- 稍后当我单击每个用户时,它应该会显示名称。
- 所以我使用了 show 和 setshow。
- 当我试图在浏览器中打印值时,我没有看到它。
return(<div>{show}users Data{setShow} - 我为每个用户写了点击,但我不知道如何隐藏和显示。
- 我的应用中将有数百万用户,那么当我单击每个用户时隐藏和显示名称的最佳方式是什么
- 在下面提供我的代码 sn-p 和沙箱
https://stackblitz.com/edit/react-t1mdfj?file=index.js
import React, { Component, useState } from "react";
import { render } from "react-dom";
import Hello from "./Hello";
import "./style.css";
function DataClick(){
const [show, setShow]= useState(false);
function showItem(e){
console.log("e--->", e.target);
setShow(true);
}
return(<div>{show}users Data{setShow}
<div onClick= {showItem}
//onClick={()=>setShow(true)}
>user1</div>
<div>John</div>
<div onClick= {showItem}
//onClick={()=>setShow(true)}
>user2</div>
<div>Mike</div>
<div onClick= {showItem}
//onClick={()=>setShow(true)}
>user3</div>
<div>Mike3</div><div onClick= {showItem}
//onClick={()=>setShow(true)}
>user4</div>
<div>Mik4e</div><div onClick= {showItem}
//onClick={()=>setShow(true)}
>user5</div>
<div>Mike5</div><div onClick= {showItem}
//onClick={()=>setShow(true)}
>user6</div>
<div>Mike6</div><div onClick= {showItem}
//onClick={()=>setShow(true)}
>user7</div>
<div>Mike7</div><div onClick= {showItem}
//onClick={()=>setShow(true)}
>user8</div>
<div>Mike8</div>
</div>);
}
render(<DataClick />, document.getElementById("root"));
【问题讨论】:
-
使用 forEach 并遍历用户数量。
-
你希望这条线做什么:
return(<div>{show}users Data{setShow}? -
我以为在浏览器中它会显示为
false users Data true。因为在顶部我们使用了这条线const [show, setShow]= useState(false); -
@Tick20 你能在我的堆栈闪电战中更新吗,太令人困惑了:(
-
@computer 很酷,请查看我发布的答案。我也在你的 stackblitz 中更新了。
标签: javascript html css reactjs redux