在React JS中触发onchange事件的最佳方法是什么

我们使用Backbone + ReactJS捆绑包来构建客户端应用程序。严重依赖臭名昭著的是,valueLink我们通过自己的支持ReactJS接口进行双向绑定的包装器将值直接传播到模型。

现在我们面对这个问题:

我们有一个jquery.mask.js插件,可以通过编程方式格式化输入值,因此不会触发React事件。当模型从用户输入中接收未格式化的值而从插件中丢失格式化的时,所有这些都会导致情况

似乎React取决于浏览器有很多事件处理策略。有什么通用的方法可以触发特定DOM元素的更改事件,以便React可以听到吗?

宝儿村村2020/03/12 16:29:44

您可以使用ReactTestUtils模拟事件,但这是为单元测试而设计的。

我建议在这种情况下不使用valueLink,而只是侦听插件触发的更改事件并作为响应更新输入的状态。双向绑定实用程序更像是一个演示程序;它们包含在附加组件中只是为了强调以下事实:纯双向绑定不适用于大多数应用程序,并且您通常需要更多的应用程序逻辑来描述应用程序中的交互。