Javascript ReactJs将值传递给另一个js文件中的函数
Login.jsJavascript ReactJs将值传递给另一个js文件中的函数,javascript,reactjs,Javascript,Reactjs,Login.js import FormValidation from './validation/Form' //this is Form.js constructor(props) { super(props); this.state = { submit: true, errorMessage: '' }; } <span>{this.state.errorMessage}</span> <label><inpu
import FormValidation from './validation/Form' //this is Form.js
constructor(props) {
super(props);
this.state = {
submit: true,
errorMessage: ''
};
}
<span>{this.state.errorMessage}</span>
<label><input type="text" name="tel" onBlur={this.FormValidation.validation.phone.blur} value={this.state.telValue}/></label>
let validation = {}
const FormValidation = (e) => {
validation = {
phone: {
blur: (e) => {
let v = e.target.value;
console.log(v);
if(v.length <= 0){
this.setState({submit: false, errorMessage: 'can not empty!'})
}
}
}
}
}
export default FormValidation;
import FormValidation from './validation/Form' //this is Form.js
constructor(props) {
super(props);
this.state = {
submit: true,
errorMessage: '',
telValue: ''
};
handleBlur = (e) => {
const value = e.target.value
const validationError = FormValidation.validation.phone.blur(value)
if (validationError) {
this.setState({
submit: validationError.submit,
errorMessage: validationError.errorMessage
})
} else {
this.setState({
telValue: value
})
}
}
render () {
return (
<label>
<span>
{this.state.errorMessage}
</span>
<input type="text" name="tel" onBlur={this.handleBlur} value={this.state.telValue}/>
</label>
)
}
}
let validation = {}
const FormValidation = {
validation = {
phone: {
blur: (value) => {
console.log(value);
if (value.length <= 0) {
return {submit: false, errorMessage: 'can not empty!'}
}
}
}
}
}
export default FormValidation;
import FormValidation from./validation/Form'//这是Form.js
建造师(道具){
超级(道具);
此.state={
提交:正确,
错误消息:“”
};
}
{this.state.errorMessage}
Form.js
import FormValidation from './validation/Form' //this is Form.js
constructor(props) {
super(props);
this.state = {
submit: true,
errorMessage: ''
};
}
<span>{this.state.errorMessage}</span>
<label><input type="text" name="tel" onBlur={this.FormValidation.validation.phone.blur} value={this.state.telValue}/></label>
let validation = {}
const FormValidation = (e) => {
validation = {
phone: {
blur: (e) => {
let v = e.target.value;
console.log(v);
if(v.length <= 0){
this.setState({submit: false, errorMessage: 'can not empty!'})
}
}
}
}
}
export default FormValidation;
import FormValidation from './validation/Form' //this is Form.js
constructor(props) {
super(props);
this.state = {
submit: true,
errorMessage: '',
telValue: ''
};
handleBlur = (e) => {
const value = e.target.value
const validationError = FormValidation.validation.phone.blur(value)
if (validationError) {
this.setState({
submit: validationError.submit,
errorMessage: validationError.errorMessage
})
} else {
this.setState({
telValue: value
})
}
}
render () {
return (
<label>
<span>
{this.state.errorMessage}
</span>
<input type="text" name="tel" onBlur={this.handleBlur} value={this.state.telValue}/>
</label>
)
}
}
let validation = {}
const FormValidation = {
validation = {
phone: {
blur: (value) => {
console.log(value);
if (value.length <= 0) {
return {submit: false, errorMessage: 'can not empty!'}
}
}
}
}
}
export default FormValidation;
let验证={}
const FormValidation=(e)=>{
验证={
电话:{
模糊:(e)=>{
设v=e.target.value;
控制台日志(v);
如果(v.length我为代码中有问题的部分添加了注释:
// FormValidation is a function, but in your input you are using it as an object.
const FormValidation = (e) => {
validation = {
phone: {
blur: (e) => {
let v = e.target.value;
console.log(v);
if (v.length <= 0) {
// FormValidation is not a React component, so it doesn't have a state. You should just return the error:
// return {submit: false, errorMessage: 'can not empty!'}
this.setState({submit: false, errorMessage: 'can not empty!'})
}
}
}
}
}
export default FormValidation;
//FormValidation是一个函数,但在您的输入中,您将其用作对象。
const FormValidation=(e)=>{
验证={
电话:{
模糊:(e)=>{
设v=e.target.value;
控制台日志(v);
如果(v.length)您试图获取一个类的方法,而不是从它的实例对象……谢谢,只有一件事,根据您的回答,我需要设置多个处理程序来将变量传递给验证,我正在寻找一种更简洁的方法,那么有没有一种方法可以将字符串传递给处理程序,然后传递给类?比如onBlur={this.handleBlur(this,'phone')}