我是react.js的初学者,这很神奇,但我面临一个真正的问题:我需要使用普通和纯javascript设置输入的值,但形成一些原因react.js没有按预期工作.举个例子:打开这个URL http://autoescolalatorreta.wix.com/latorreta#!contact/c24vq
您将看到有一个"电子邮件"输入字段,其ID为"CntctFrm2emailField".我尝试使用此代码使用javascript更改它的值:
document.getElementById("CntctFrm2emailField").value = "testing@gmail.com";
Run Code Online (Sandbox Code Playgroud)
但由于某些原因,如果您尝试发送表单(单击"发送"按钮),React.js不会更新此核心原因,您将看到它将显示一条错误消息,指出电子邮件未正确填充.但是,一旦我在电子邮件字段中单击并键入任何字母并单击SEND按钮就可以正常工作,我的意思是,React.js会看到新值.
那么如何更改输入值并让React.js也更新该值呢?
我正在尝试制作一个 Tampermonkey 脚本,它会自动将文本输入到某些表单输入字段中。
通常,您只需执行以下操作即可:
myElement.value = "my new text"
Run Code Online (Sandbox Code Playgroud)
问题是,这个表单正在使用 React,我无法直接更改该值,因为它没有设置 React 状态。我如何将所需的数据输入到我的 Tampermonkey 脚本中的这些 React 组件中?
我正在构建一个小型Chrome扩展程序供我个人使用.
在Facebook的广告管理器(使用React)中,我想将textarea字段的值更改为我的chrome扩展生成的值.
我试着像这样做旧式的方式
document.querySelector('textarea').value = myValue;
Run Code Online (Sandbox Code Playgroud)
这会改变屏幕上的值,但是在chrome的inspect元素中,值不会改变,当我关注输入元素值时会重置.
下面是反应组件的样子:
![1]](https://i.stack.imgur.com/AkdGW.png)
这是这个反应组件道具和状态的图片:
![2]](https://i.stack.imgur.com/v3BNI.png)
在上面的组件中,我想将state.displayValue更改为我的值.
怎么做?