我正在尝试渲染组件onClick,我面临的问题是我的onClick不仅在我单击的按钮中打开每一行中的组件。
可能是任何索引问题。你能看一下我的代码吗?谢谢!
class ItemView extends Component {
constructor(props) {
super(props);
this.state = {
isFormOpen: false,
parentId: null,
}
}
handleAddItem = (value) => {
this.setState({
parentId: value.parentId,
isFormOpen: !this.state.isFormOpen,
})
}
render() {
return (
<div className="ui relaxed divided list">
{data.items.map((item, index) => {
return (
<div className="item" key={index}>
<Button
label={'Add Item'}
onClick={() => this.handleAddItem({ parentId: item.parentId })}
/>
{isFormOpen && (
<AddItem parentId={parentId} />
)}
</div>
)
})}
</div>
)
}
}
最佳答案
添加检查parentId
是否等于item.parentId
:
{isFormOpen && parentId === item.parentId && (
<AddItem parentId={parentId} />
)}
关于javascript - .map onClick()中的渲染组件-React,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49942498/