如何解决反应页面空白,没有错误
我的 React 应用程序只显示一页的空白页。此页面适用于我的本地主机。但是,当我部署时,我似乎只得到一个空白页面,控制台日志、网络等中没有错误......
我的第一篇文章,感谢您的帮助。我将在下面发布详细信息。
Register/Complete 是有问题的路由。
App.js
<ToastContainer />
<Switch>
<Route exact path="/" component={Home} />
<Route path="/login" component={Login} />
<Route exact path="/register" component={Register} />
**<Route path="/register/complete" component={RegisterComplete} />**
<Route path="/forgot/password" component={ForgotPassword} />
<Route exact path="/score" component={Score} />
<Route exact path="/marketing" component={Marketing} />
<Route path="/edit" component={Edit} />
<Route path="/dashboard" component={Dashboard} />
<Route path="/assistant" component={EAHome} />
<Route exact path="/private" component={EAPrivate} />
<Route path="/private/v5" component={EAPrivateTwo} />
<Route path="/private/accidents" component={EAPrivateThree} />
<Route path="/private/service" component={EAPrivateFour} />
<Route path="/private/repairs" component={EAPrivateFive} />
<Route path="/private/warrenty" component={EAPrivateSix} />
<Route exact path="/dealer" component={EADealer} />
<Route exact path="/dealer/damage" component={EADealerTwo} />
<Route path="/dealer/work" component={EADealerThree} />
<Route path="/dealer/repair" component={EADealerFour} />
<Route path="/dealer/warrenty" component={EADealerFive} />
<Route path="/dealer/viewing" component={EADealerSix} />
<Route path="/checkout" component={Full} />
<Route path="/vdi-check" component={Vdi} />
<Route path="/password" component={Password} />
<Route path="/shortlist" component={Shortlist} />
</Switch>
注册Complete.js
const [email,setEmail] = useState("");
const [firstName,setFirstName] = useState("");
const [lastName,setLastName] = useState("");
const [displayName,setDisplayName] = useState("");
const [phoneNumber,setPhoneNumber] = useState("");
const [password,setPassword] = useState("");
const [password2,setPassword2] = useState("");
const [marketingAuth,setMarketingAuth] = useState(false);
//PREVENT
const { user } = useSelector((state) => ({ ...state }));
useEffect(() => {
if (user && user.token) history.push('/');
},[user]);
useEffect(() => {
setEmail(window.localStorage.getItem('emailForRegistration'))
// console.log(window.location.href);
},[]);
const onSubmit = async e => {
e.preventDefault();
//valid
if (!email || !password){
toast.error('Email and password is required')
return;
}
if (password.length < 6) {
toast.error("Password must be 6 characters or above");
return;
}
if(e.target.marketingAuth.checked){
setMarketingAuth(true)
}else{
}
// if (password !== password2) {
// console.log('passwords do not match','danger');
// } else {
// // register({ email,firstName,lastName,phoneNumber,password}
// }
try {
const result = await auth.signInWithEmailLink(email,window.location.href);
if (result.user.emailVerified) {
// Remove user email from local
window.localStorage.removeItem("emailForRegistration");
// Get User ID Token
let user = auth.currentUser;
await user.updatePassword(password);
const idTokenResult = await user.getIdTokenResult();
//REDUX
console.log("TOKEN",idTokenResult);
//redirect
//MARKETING DATABASE
const config = {
headers: {
'Content-Type': 'application/json'
}
}
const body = JSON.stringify({ firstName,displayName,email,password,marketingAuth });
try {
const res = await Axios.post('/api/register',body,config);
console.log("RES DATA",res.data);
} catch (error) {
console.log("ERROR:",error.message);
}
history.push('/');
}
// if(result.user.)
} catch (error) {
toast.error(error.message);
}
}
return(
<div className="containerscore">
<div className="logincontain">
<div class="page-header">
<h1>Complete Sign Up</h1>
</div>
<form onSubmit={e => onSubmit(e)}>
<div className="form-group">
<label>Email*</label>
<input type="text"
placeholer="johndoe@gmail.com"
name='email'
value={email}
className="form-control"
/>
</div>
<div className="form-group">
<label>Display Name*</label>
<input type="text"
placeholer="john"
name='displayName'
value={displayName}
onChange={(e) => setDisplayName(e.target.value)}
minlength="1"
maxLength="18"
className="form-control"
required
/>
</div>
<div className="form-group">
<label> Mobile Number (07 format)</label>
<input type="tel"
id="phone_num"
minlength="11"
maxLength="11"
name='phoneNumber'
value={phoneNumber}
onChange={(e) => setPhoneNumber(e.target.value)}
className="form-control"
/>
</div>
<div className="form-group">
<label>Password*</label>
<input type="password"
placeholer="password"
name='password'
value={password}
onChange={(e) => setPassword(e.target.value)}
className="form-control"
/>
</div>
<div className="form-group">
<label>Confirm Password*</label>
<input type="password"
placeholer="confirm password"
name='password2'
value={password2}
onChange={(e) => setPassword2(e.target.value)}
className="form-control"
/>
</div>
<div className="form-group">
<input type="checkbox"
name='marketingAuth'
value={marketingAuth}
onChange={(e) => setMarketingAuth(true)}
/><label>Marketing Auth <Link to=''>Terms + Conditions's</Link></label>
</div>
<div className="form-group">
<input type="submit" value="Sign Up" className="btn btn-info"
/>
</div>
</form>
</div>
</div>
);
新开发者,欢迎提出建议和批评。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。