我正在尝试渲染组件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/

10-13 04:22