ReactJS:如何从 DOM 更新 React

ReactJS: how to update React from the DOM

本文关键字:DOM 更新 React ReactJS      更新时间:2023-09-26

我正在尝试自动化 React 生成的页面:在页面中记录用户交互,然后播放以进行测试。
在最简单的情况下,播放设置各种输入的值并触发更改事件。
不幸的是,在我的代码设置值并模拟单击表单提交按钮后,React 介入并将值重置为其内部模型中的值。

有没有办法强制 React 从 DOM 中的值更新?

如果没有,有没有办法让我挂接到 React 并更改值,给定 DOM 节点?
类似的东西(完全伪造的伪代码):require("react").findComponentForDomNode('xxx').setValue('yyy') ?

确保您的表单使用"不受控制"的组件,或者至少允许您在受控组件中输入。

http://facebook.github.io/react/docs/forms.html

或者,您应该能够使用 React 的测试实用程序完成此操作:

http://facebook.github.io/react/docs/test-utils.html

这使您可以执行以下操作:

React.addons.TestUtils.Simulate.change(node, {target: {value: 'Hello, world'}});