reactjs-如何将数据从子组件转换为道具中传递的按钮的onclick?

杜加尔公爵

我正在使用ReactJS和ES2015

我通过道具将按钮传递到子组件中。

我看不到如何从孩子获取数据到按钮的onClick函数中

谁能建议我将子组件中的数据获取到onCLick函数中需要做什么?

  doDeleteItem = (blah) => {
    console.log('the item to delete is: ', blah);
  };


  deleteButton = (
      <button
       className="btn btn-expand btn-stroke btn-success mr-5"
       type="primary"
       onClick={this.doDeleteItem}Delete item
     </button>
   )

   render() {
     return (
       <TableContainer
         deleteButton={this.deleteButton}
         doDeleteItem={this.doDeleteItem}
       />
     );

更新:评论说还不清楚。这里是上下文:

TableContainer组件显示数据行。

我通过道具将Button组件向下推到TableContainer中。

TableContainer呈现按钮。

我还按下了一个函数,供Button在其onClick事件中调用。

这样的想法是,用户选择表中的行,然后按下按钮(例如,删除),然后该按钮运行其onClick函数,该函数将删除选定的行。

问题是我看不到如何将定义所选行的数据放入onClick函数中。

似乎onClick函数的“作用域”实际上是父组件,而不是TableContainer组件,因此它无法看到定义用户选择删除哪些数据行的变量。

这更清楚吗?让我知道是否。谢谢

Oleksandr T.

尝试定义doDeleteItemdeleteButton为方法而不是属性,然后调用deleteButton在儿童和传递参数你需要什么

doDeleteItem(rows) {
    console.log('the item to delete is: ', rows)
};

deleteButton(rows) {
  return <button
    className="btn btn-expand btn-stroke btn-success mr-5"
    type="primary"
    onClick={ () => this.doDeleteItem(rows) }
  >
    Delete item
  </button> 
}

render() {
  return (
    <TableContainer
      deleteButton={ this.deleteButton }
      doDeleteItem={this.doDeleteItem}
   />
 );
}

Example

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ReactJS-将数据从子组件传递到其父组件

如何将类道具传递给 reactjs 中的函数

如何将const reactjs组件转换为基于类

如何将服务器端渲染中的数据从节点传递到reactjs组件

如何将数据传递给 ReactJS 中的 Material UI 'Table' 组件

如何将 reactjs 转换为 preact?

将道具传递给子组件Reactjs

如何将具有切换功能的状态组件转换为 reactjs 中的无状态组件?

如何将数据传递到ReactJS中的表单?

ReactJS 将数据从子组件传递到父组件,然后返回到不同的子组件

在ReactJS中传递道具

如何将道具传递给 reactjs 处理程序?

如何使用按钮的 onClick 将 AceEditor 的值传递给组件状态?ReactJS

在ReactJS中使用迭代时如何将onClick事件传递给父组件?

ReactJS-如何将组件引用传递给另一个组件作为道具?

在组件Reactjs之间传递道具

如何将祖父组件中的函数传递给 ReactJs 中的孙组件?

如何在 ReactJS 中将道具从子组件传递到父组件到另一个子组件?

如何在ReactJS中将数据从子组件传递到其父组件?

如何将普通脚本转换为在 reactjs 函数组件中使用

如何将实例传递给 reactjs 组件内的函数

将工作 VueJS 组件转换为 ReactJS

将 HTML 转换为 ReactJS 组件

ReactJS-如何将“全局”数据传递给深度嵌套的子组件?

ReactJS - 将 onClick 函数的一部分作为来自父组件的道具传递

如何将 props 传递给 ReactJS 中 const 中描述的组件

将数据传递给reactjs中的子组件

如何将jQuery removeClass转换为ReactJS方式?

如何将私有变量从 ReactJS 转换为 TypeScript?