我有一个具有多种不同形式的React应用程序,我希望不必为每种形式一遍又一遍地编写相同的代码,而且我正在寻找一种简单的方法来集中所有形式的onSubmit()
处理程序。从中心位置,我可以触发特定的Flux操作,该操作将触发ajax调用。
我正在想象一个可以处理所有表单请求的函数。
function (event) {
event.preventDefault()
var $elm = $(event.target)
var d = {}
d.method = $elm.attr('method')
d.action = $elm.attr('action')
d.data = $elm.serialize()
console.log(d)
}
从这里,我可以检查
action
和method
并针对每种可能性进行切换。在Flux架构中这有意义吗?
最佳答案
无论如何,您都需要从特定组件中收集数据,因此您必须为其编写单个函数,但是其余任务(如发送action
)可以在父组件的onSubmit
函数中完成。因此,通过onSubmit
将带有数据的子组件中的所有onSubmit
事件委托给父组件的props
函数。
您还可以像在分派器中添加identifier
一样添加constants
,以标识特定的onSubmit
事件,然后在父组件中使用switch语句基于identifier
发送特定的动作。
如果有用例,我想这是有道理的。