ReactJS事件-this.props.onSubmit(this.state…)
下面的代码片段来自一个简单的待办事项列表,该列表将信息存储在本地EOS区块链上,并具有一个构建在ReactJS上的前端web界面。这个问题与ReactJS有关,特别是事件处理程序代码片段ReactJS事件-this.props.onSubmit(this.state…),reactjs,event-handling,react-props,eos,Reactjs,Event Handling,React Props,Eos,下面的代码片段来自一个简单的待办事项列表,该列表将信息存储在本地EOS区块链上,并具有一个构建在ReactJS上的前端web界面。这个问题与ReactJS有关,特别是事件处理程序代码片段 saveTodo(e) { e.preventDefault(); this.props.onSubmit(this.state.description) this.setState({ description: "" }) } 完整的程序可以在这里找到 在事件处理程序的主体中,有一行this.p
saveTodo(e) {
e.preventDefault();
this.props.onSubmit(this.state.description)
this.setState({ description: "" })
}
完整的程序可以在这里找到
在事件处理程序的主体中,有一行this.props.onSubmit(this.state.description)。我想知道这里到底发生了什么
我是ReactJS新手,上面这行代码似乎是通过调用内置函数onSubmit()并使用从状态对象检索的参数来设置属性(props)。这是正确的吗?我不知道在这段代码中,onSubmit()是如何分配给props的,但不知何故,我们可以这样使用它:this.props.onSubmit(this.state.description)…。这是怎么回事
谢谢你
请原谅这个术语。我不确定“事件处理程序”或“事件侦听器”是否是正确的词。TodoForm组件采用属性“onSubmit” 该行只是调用这个属性(由其父属性传递给它)并传入描述(取自TodoForm的状态) 例如:
<TodoForm onSubmit={(description) => alert(description)} />
alert(description)}/>
谢谢Mathew,在您的示例中,您正在实现该功能,这将导致一个警报(说明)。但是,在链接的完整代码中,似乎没有实现该功能。调用this.props.onSubmit(this.state.description)之后会发生什么?render(){return(………)@kamiss在链接的完整代码中,如果查看TodoList的render函数,您会看到
,因此在本例中,onSubmit属性设置为TodoList中声明的addNewTodo
函数。如果查看,addNewTodo(说明)
采用与传递到属性中相同的描述参数。谢谢Mathew,我终于理解了它!