如何将表单输入字段传递给 React 中的另一个组件?

我正在使用 React 创建一个待办事项列表应用程序,此阶段不涉及后端。目前我有两个组件,TypeListTable. Type是一个表单组件,ListTable是一个表格组件,用于显示存储在this.state.

我想实现的是,当我在表单中输入,点击submit按钮Type组件,该state数据Type将作为传递propsListTable组件和表数据将发生相应的变化。但我不知道如何做到这一点,而是refreshListTable组件中添加了一个额外的按钮,以调用组件中的onSubmitt函数Type这种方式有效,但我认为不是很体面。

这是我的代码https://codepen.io/heiweigou/pen/vRKjzR?editors=0010

考克斯

我会在这里提出不同的组件架构。你看,你ListTable是一个子Type组件,即使这不是最好的方法。
创建一个新组件,它将成为两者的父组件,例如

class ParentComponent extends Component {
   constructor(props) {
      super(props);

      this.state = { todos: [] };
      this.addTodo = this.addTodo.bind(this);
   }

   addTodo(todo) {
      this.setState({ todos: [...this.state.todos, todo] })
   }
   ...
   render() {
      return (
         <div>
           <ListTable todos={this.state.todos} /> //passing todos
           <Type addTodo={this.addTodo} /> //passing a addTodo function
         </div>
      );
   }
}

您可以向Type组件传递一个函数来更新ParentComponent的状态,并将该状态传递给ListTable组件以呈现您的待办事项。
并且Type组件的onSubmit函数应该只更新其父组件的状态,不应返回任何内容。

onSubmit() {
   this.props.addTodo(this.state);
}

更新: 添加按钮中
删除onClick处理程序Task并将 onSubmit 处理程序添加到表单中:

<form onSubmit={this.handleFormSubmit.bind(this)}>

并像这样声明这个处理程序:

handleFormSubmit(e) {
  e.preventDefault();
  this.props.addTodo(this.state);
}

你的ListTable's table函数也应该循环props.todos而不是状态。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将状态className变量传递给React中的另一个组件

来自分类Dev

如何将组件作为道具传递给 react js 中的另一个组件?

来自分类Dev

React-如何将API数据从一个组件传递到另一个js文件中的另一个组件?

来自分类Dev

React-如何将状态传递给另一个组件

来自分类Dev

如何将翻译后的字符串传递给react-jhipster中的另一个组件?

来自分类Dev

如何在React中从另一个组件设置一个组件的状态

来自分类Dev

如何将组件名称从另一个组件的对象传递到React Router Dom中的Route?

来自分类Dev

React Native将Text组件添加到另一个Text组件中

来自分类Dev

将TypeScript React组件嵌套在另一个组件中

来自分类Dev

React Native将Text组件添加到另一个Text组件中

来自分类Dev

单击另一个组件中的按钮时,如何显示/隐藏React组件?

来自分类Dev

如何通过在React中单击另一个组件来删除组件?

来自分类Dev

React – 如何在另一个已安装的组件中渲染附加组件?

来自分类Dev

React:如何将State值传递给另一个组件并使用它来呈现一个组件

来自分类Dev

React-Native:如何将组件中的项目与另一个组件中的项目绑定?

来自分类Dev

将一个React组件作为参数传递给另一个React组件

来自分类常见问题

React.js:将一个组件包装到另一个组件中

来自分类Dev

将道具传递到React.js中的另一个组件

来自分类Dev

如何在React Native中从另一个功能组件更改一个功能组件的状态?

来自分类Dev

如何将对象从数组渲染到React中的另一个组件?

来自分类Dev

如何将值onClick从不同组件分配给React中的另一个组件

来自分类Dev

如何将一个React-Admin组件嵌入另一个组件中;多个管理组件

来自分类Dev

如何在React组件中的另一个函数中访问useEffect的异步数据

来自分类Dev

如何将 props(从 Redux 获取的)从一个组件传递到另一个(React/Redux)?

来自分类Dev

如何将字符串值传递给另一个React组件并从该组件获取一些响应?

来自分类Dev

React:如何从另一个组件访问一个组件?

来自分类Dev

如何从React组件中的另一个文件调用函数

来自分类Dev

如何从React中的另一个组件读取变量?

来自分类Dev

我如何从React JS中的另一个组件路由

Related 相关文章

  1. 1

    如何将状态className变量传递给React中的另一个组件

  2. 2

    如何将组件作为道具传递给 react js 中的另一个组件?

  3. 3

    React-如何将API数据从一个组件传递到另一个js文件中的另一个组件?

  4. 4

    React-如何将状态传递给另一个组件

  5. 5

    如何将翻译后的字符串传递给react-jhipster中的另一个组件?

  6. 6

    如何在React中从另一个组件设置一个组件的状态

  7. 7

    如何将组件名称从另一个组件的对象传递到React Router Dom中的Route?

  8. 8

    React Native将Text组件添加到另一个Text组件中

  9. 9

    将TypeScript React组件嵌套在另一个组件中

  10. 10

    React Native将Text组件添加到另一个Text组件中

  11. 11

    单击另一个组件中的按钮时,如何显示/隐藏React组件?

  12. 12

    如何通过在React中单击另一个组件来删除组件?

  13. 13

    React – 如何在另一个已安装的组件中渲染附加组件?

  14. 14

    React:如何将State值传递给另一个组件并使用它来呈现一个组件

  15. 15

    React-Native:如何将组件中的项目与另一个组件中的项目绑定?

  16. 16

    将一个React组件作为参数传递给另一个React组件

  17. 17

    React.js:将一个组件包装到另一个组件中

  18. 18

    将道具传递到React.js中的另一个组件

  19. 19

    如何在React Native中从另一个功能组件更改一个功能组件的状态?

  20. 20

    如何将对象从数组渲染到React中的另一个组件?

  21. 21

    如何将值onClick从不同组件分配给React中的另一个组件

  22. 22

    如何将一个React-Admin组件嵌入另一个组件中;多个管理组件

  23. 23

    如何在React组件中的另一个函数中访问useEffect的异步数据

  24. 24

    如何将 props(从 Redux 获取的)从一个组件传递到另一个(React/Redux)?

  25. 25

    如何将字符串值传递给另一个React组件并从该组件获取一些响应?

  26. 26

    React:如何从另一个组件访问一个组件?

  27. 27

    如何从React组件中的另一个文件调用函数

  28. 28

    如何从React中的另一个组件读取变量?

  29. 29

    我如何从React JS中的另一个组件路由

热门标签

归档