【发布时间】:2020-11-17 07:09:41
【问题描述】:
我有一个从我的 React 应用程序中的父组件映射的子对象列表。
当单击子项时,我需要将该项的 props.name 通过 handleClick 函数推送到父组件中的 selectedItems 数组。
我怎样才能做到这一点?
function Parent() {
let selectedItems = [];
const result = Data.filter((e) => selectedItems.includes(e.id));
return (
<div className="App">
<main className="products-grid flex flex-wrap">
{Data.map((item, i) => {
return <Child
key={item.id}
name={item.name} />
})}
</main>
</div>
);
}
export default App
const Child = (props) => {
const [clickCount, setClickCount] = useState(0);
function handleClick() {
setClickCount(prevClickCount => prevClickCount + 1);
}
return (
<div
className="product"
onClick={() => handleClick()}
>
<p>{props.name}</p>
<p>{clickCount > 0 ? <p>Selected: {clickCount}</p> : <p>Not Selected</p>}</p>
<img src={props.img} alt="" />
</div>
);
}
【问题讨论】:
标签: javascript reactjs