我一直在试图使用reCAPTCHA到我的反应,应用程序,但时候,一切似乎终于确定我检查控制台,发现这样的警告:验证码:不要访问.getDOMNode()
Warning: ReactDOMComponent: Do not access .getDOMNode() of a DOM node; instead, use the node directly. This DOM node was rendered by 'reCAPTCHA'.
我的当前版本包:
`"react": "^0.14.7",
"react-dom": "^0.14.7",
"react-google-recaptcha": "^0.4.1",`
试图通过降级到[email protected]
解决这个问题,但它并没有帮助。
编辑:
代码:
onChange(response) {
console.log("Captcha value:", value);
this.setState({
'g-recaptcha-response': response
});
}
render() {
return (
<ReCAPTCHA
ref="recaptcha"
sitekey="6Le0bCoUAAAAAMnfIWvY2b8w0Z932kI6Iu_zu3p9"
onChange={this.onChange.bind(this)}
/>
);
}
和服务器端:
const recaptcha = require('express-recaptcha');
recaptcha.init(process.env.CAPTCHA_SITE_KEY,
process.env.CAPTCHA_SECRET);
module.exports = {
captchaVerify(req, res, next) {
recaptcha.verify(req, (err) => {
if (!err) {
res.status(200).send({ err: 'Approved' });
} else {
res.status(422).send({ err: 'Disapproved' })
}
})
}
}
请发表您的代码的发布。 –
@DannyDelott在这里!/\ – LiJonas