javascript - 如何将动态值传递给 div 元素然后访问它 - React ?

标签 javascript reactjs ref

我正在映射我的所有文件

  _renderItems = files =>
    files
      ? files.map((item, i) => {
          return <ProjectItemUser {...item} key={i} index={i} />;
        })
      : null;

然后我尝试显示它ProjectItemUser

class ProjectItemUser extends Component {
  render() {
    return (
      <div>
        <div className="book_item">
          <div className="book_header">
            <h2>{this.props.name}</h2>
          </div>
          <div className="book_this">
            <div className="book_author">{this.props.subject}</div>

            <div className="book_bubble">
              <strong>Study: </strong> {this.props.study}
            </div>

            <div className="book_bubble">
              <strong>Grade: </strong> {this.props.grade}
            </div>

            <FontAwesomeIcon icon="trash" id="trash" />
          </div>
        </div>
      </div>
    );
  }
}

这基本上显示了所有文件,每个文件都是它自己的单独行。我想在每次迭代时为 div 元素分配值,这样我就可以控制单击了哪个文件。

我可以通过以下方式访问我的 ID:this.props._id

这应该使用 refs 来完成吗?如果是的话,怎么做?

最佳答案

您应该将 onClick 函数作为参数传递

 _renderItems = files =>
    files
      ? files.map((item, i) => {
          return <ProjectItemUser {...item} key={i} index={i} onClick={() => { console.warn(item) } />;
        })
      : null;


class ProjectItemUser extends Component {
  render() {
    return (
      <div>
        <div className="book_item">
          <div className="book_header">
            <h2>{this.props.name}</h2>
          </div>
          <div className="book_this">
            <div className="book_author">{this.props.subject}</div>

            <div className="book_bubble">
              <strong>Study: </strong> {this.props.study}
            </div>

            <div className="book_bubble">
              <strong>Grade: </strong> {this.props.grade}
            </div>

            <FontAwesomeIcon icon="trash" id="trash" />

            <Button onClick={this.props.onClick} label="Click on me" />
          </div>
        </div>
      </div>
    );
  }
}

关于javascript - 如何将动态值传递给 div 元素然后访问它 - React ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53361612/

相关文章:

c# - 通过 ref 传入对象

javascript - 如何使用 jquery 或 javascript 为两张图片制作动画?

php - 如果页面已被访问过则重定向

javascript - 向数组添加值

javascript - JQuery 超时或端点计数

javascript - 尝试过滤产品列表时 react "TypeError: product.name.includes(...).map is not a function"

javascript - fs.opensync 不是一个函数

reactjs - React Native 在 React context API 和 useState Hook 中更新状态

javascript - 如何自动聚焦于 React 中的特定输入字段(单击另一个元素后)?

c++ - 使用 Spirit 的语义 Action 顺序(引用 Phoenix)