我正在尝试按照以下步骤将名为react-phone-number-input
的库与我的多步反应形式集成在一起:
import React, {useState} from 'react'
import Helmet from 'react-helmet'
import './reg-style/Credentail.css'
import 'react-phone-number-input/style.css'
import PhoneInput from 'react-phone-number-input'
export default function Credential (){
continue = e => {
e.preventDefault();
this.props.nextStep();
};
back = e => {
e.preventDefault();
this.props.prevStep();
};
const [ values, handleChange ] = this.props;
const [value, setValue] = useState()
return (
<div>
<Helmet>
<body className="form-bg-col"></body>
</Helmet>
<div className="login">
<div className="reg-container">
<button onClick={this.back} className="col-form-prev"><i class="fa fa-chevron-left"></i></button>
<div className="user-detail email">
Email:
<input onChange={handleChange('Email')} defaultValue={values.Email} type="email" placeholder="Enter your Email"/>
</div>
<div className="user-detail"
onChange={handleChange('Phone')} defaultValue={values.Phone}
>
Phone:
<PhoneInput
displayInitialValueAsLocalNumber
placeholder="Enter phone number"
defaultCountry="IN"
value={value}
onChange={setValue}
/>
</div>
<div className="user-detail username">
Username:
<input onChange={handleChange('Username')} defaultValue={values.Username} type="text" placeholder="Select your unique Username" />
</div>
<div className="user-detail password">
Password:
<input onChange={handleChange('Password')} defaultValue={values.Password} type="password" placeholder="Choose your Password" />
</div>
<button onClick={this.continue} className="col-form-next"><i class="fa fa-chevron-right"></i></button>
</div>
</div>
</div>
)
}
在运行它时,出现错误:
`./src/form/register/Credential.js
Line 9:14: Parsing error: Unexpected token
7 |
8 | export default function Credential (){
> 9 | continue = e => {
| ^
10 | e.preventDefault();
11 | this.props.nextStep();
12 | };`
我应该怎么做才能消除此错误, 您的帮助对我来说将是非常宝贵的
答案 0 :(得分:1)
continue
是javascript中的保留关键字。
因此,只需为您的方法使用其他名称即可。
另一个问题是,您似乎正在使用语法在类中声明方法。由于您现在正在使用function
,因此必须声明变量,使用它们时,您不应使用this.back
,而应使用back
,因为它不是对象的一部分,而只是局部变量
import React, { useState } from "react";
import Helmet from "react-helmet";
import "./reg-style/Credentail.css";
import "react-phone-number-input/style.css";
import PhoneInput from "react-phone-number-input";
export default function Credential() {
const alter = e => {
e.preventDefault();
this.props.nextStep();
};
const back = e => {
e.preventDefault();
this.props.prevStep();
};
const [values, handleChange] = this.props;
const [value, setValue] = useState();
return (
<div>
<Helmet>
<body className="form-bg-col" />
</Helmet>
<div className="login">
<div className="reg-container">
<button onClick={back} className="col-form-prev">
<i class="fa fa-chevron-left" />
</button>
<div className="user-detail email">
Email:
<input
onChange={handleChange("Email")}
defaultValue={values.Email}
type="email"
placeholder="Enter your Email"
/>
</div>
<div
className="user-detail"
onChange={handleChange("Phone")}
defaultValue={values.Phone}
>
Phone:
<PhoneInput
displayInitialValueAsLocalNumber
placeholder="Enter phone number"
defaultCountry="IN"
value={value}
onChange={setValue}
/>
</div>
<div className="user-detail username">
Username:
<input
onChange={handleChange("Username")}
defaultValue={values.Username}
type="text"
placeholder="Select your unique Username"
/>
</div>
<div className="user-detail password">
Password:
<input
onChange={handleChange("Password")}
defaultValue={values.Password}
type="password"
placeholder="Choose your Password"
/>
</div>
<button onClick={alter} className="col-form-next">
<i class="fa fa-chevron-right" />
</button>
</div>
</div>
</div>
);
}