Javascript 我想在onChange中使用2函数 import React,{Component}来自“React”;从导入{Link} “反应路由器dom”; const emailRegx=/^([^()\[\]\\,;:\s@“]+(\.[^()\[\]\,;:\s@“]+)*(“+”)((\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}])){124;([a-zA Z-0-9]+-zA 0-9].[a-2]/]; 导出默认类ChefInfo扩展组件{constructor(props){super(props);this.state={eInput:“”, 小的; - ---------- --------- } handleChange=e=>{ 这是我的国家({ 输入:e.target.value }); }; emailTest=()=>{ if(emailRegx.test(this.state.eInput)==false){ 这是我的国家({ small:“您的电子邮件不正确” }); }否则{ 这是我的国家({ 小:“ }); } }; render(){ 返回( 电子邮件 {//问题在这里 这个.handleChange(); 这个.emailTest(); }} /> {this.state.small} ); } }
您的handlechange使用事件对象参数 所以您应该传递事件对象Javascript 我想在onChange中使用2函数 import React,{Component}来自“React”;从导入{Link} “反应路由器dom”; const emailRegx=/^([^()\[\]\\,;:\s@“]+(\.[^()\[\]\,;:\s@“]+)*(“+”)((\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}])){124;([a-zA Z-0-9]+-zA 0-9].[a-2]/]; 导出默认类ChefInfo扩展组件{constructor(props){super(props);this.state={eInput:“”, 小的; - ---------- --------- } handleChange=e=>{ 这是我的国家({ 输入:e.target.value }); }; emailTest=()=>{ if(emailRegx.test(this.state.eInput)==false){ 这是我的国家({ small:“您的电子邮件不正确” }); }否则{ 这是我的国家({ 小:“ }); } }; render(){ 返回( 电子邮件 {//问题在这里 这个.handleChange(); 这个.emailTest(); }} /> {this.state.small} ); } },javascript,reactjs,onchange,Javascript,Reactjs,Onchange,您的handlechange使用事件对象参数 所以您应该传递事件对象 import React, { Component } from "react"; import { Link } from "react-router-dom"; const emailRegx = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,
import React, { Component } from "react"; import { Link } from
"react-router-dom";
const emailRegx = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
export default class ChefInfo extends Component { constructor(props) { super(props); this.state = { eInput: "",
small: "" };
-
----------
---------
}
handleChange = e => {
this.setState({
eInput: e.target.value
});
};
emailTest = () => {
if (emailRegx.test(this.state.eInput) === false) {
this.setState({
small: "your email is inccorect"
});
} else {
this.setState({
small: ""
});
}
};
render() {
return (
<div className="big-parent">
<form>
<div className="input">
<label>
<strong>E-mail</strong>
</label>
<input
type="email"
className="input-filed"
onChange={() => { //here the problem
this.handleChange();
this.emailTest();
}}
/>
<small className="small">{this.state.small}</small>
</div>
</form>
<a href="#" className="btn btn-dark button">
<strong>READY</strong>
</a>
</div>
);
} }
但在这种情况下,不需要使用两个函数
这就够了
onChange={(e) => { //here the problem
this.handleChange(e);
this.emailTest();
}}
handlechange使用事件对象参数 所以您应该传递事件对象
import React, { Component } from "react"; import { Link } from
"react-router-dom";
const emailRegx = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
export default class ChefInfo extends Component { constructor(props) { super(props); this.state = { eInput: "",
small: "" };
-
----------
---------
}
handleChange = e => {
this.setState({
eInput: e.target.value
});
};
emailTest = () => {
if (emailRegx.test(this.state.eInput) === false) {
this.setState({
small: "your email is inccorect"
});
} else {
this.setState({
small: ""
});
}
};
render() {
return (
<div className="big-parent">
<form>
<div className="input">
<label>
<strong>E-mail</strong>
</label>
<input
type="email"
className="input-filed"
onChange={() => { //here the problem
this.handleChange();
this.emailTest();
}}
/>
<small className="small">{this.state.small}</small>
</div>
</form>
<a href="#" className="btn btn-dark button">
<strong>READY</strong>
</a>
</div>
);
} }
但在这种情况下,不需要使用两个函数
这就够了
onChange={(e) => { //here the problem
this.handleChange(e);
this.emailTest();
}}
您可以重构代码,使其看起来像这样。这会使渲染/模板代码看起来更干净
handleChange = (e) => {
this.setState({
eInput : e.target.value,
small : emailRegx.test(e.target.value) ? '' : "your email is incorrect"
})
};
handleEvent(事件){
本次.手变(事件);
这个.emailTest();
}
.
.
.
您可以重构代码,使其看起来像这样。这会使渲染/模板代码看起来更干净
handleChange = (e) => {
this.setState({
eInput : e.target.value,
small : emailRegx.test(e.target.value) ? '' : "your email is incorrect"
})
};
handleEvent(事件){
本次.手变(事件);
这个.emailTest();
}
.
.
.
首先设置代码格式请在发布问题之前努力校对并正确设置问题格式。首先设置代码格式请在发布问题之前努力校对并正确设置问题格式。问题到底是什么?thnx bkm412 thnx bkm412 thnx