ReactJS 事件 - this.props.onSubmit(this.state....)

kam*_*iss 5 event-handling reactjs react-props eos

以下代码片段来自一个简单的待办事项列表,该列表将信息存储在本地 EOS 区块链上,并具有基于 ReactJS 构建的前端 Web 界面。该问题与 ReactJS 有关,特别是事件处理程序代码片段

\n\n
saveTodo(e) {\n  e.preventDefault();\n  this.props.onSubmit(this.state.description)\n  this.setState({ description: "" })\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

完整的程序可以在这里找到... https://github.com/eosasia/eos-todo/blob/master/frontend/src/index.jsx

\n\n

在事件处理程序saveTodo(e)的主体中,有一行 this.props.onSubmit(this.state.description)。我想知道这里到底发生了什么?

\n\n

我是 ReactJS 的新手,上面的代码行似乎通过调用内置函数onSubmit()并使用从状态对象检索的参数来设置属性(props)。它是否正确?我不\xe2\x80\x99t 看到onSubmit()是如何分配给这段代码中任何地方的 props 的,但不知何故我们能够像这样使用它:this.props。onSubmit(this.state.description) \xe2\x80\xa6。这里发生了什么\xe2\x80\x99s?

\n\n

非常感谢你。

\n\n

PS请原谅这些术语。我不确定“事件处理程序”或“事件侦听器”是否是正确的词。

\n

小智 3

TodoForm 组件采用属性“onSubmit”。

该行只是调用此属性(由其父级传递给它)并传入描述(取自 TodoForm 的状态)。

例如:

<TodoForm onSubmit={(description) => alert(description)} />
Run Code Online (Sandbox Code Playgroud)

在此处阅读有关 React 中的 props 的更多信息。