Когда я перехожу со страницы входа на страницу регистрации, CSS не меняется.
Он показывает только CSS страницы входа. Он переходит на страницу регистрации. Я не знаю, как это происходит.
Может кто-нибудь сказать мне, как сделать registration.css
при переходе на страницу регистрации?
Заранее спасибо. Ниже приведены мои фрагменты кода:
Приложение. js:
import React from 'react';
import Login from './htmlfiles/Login';
import Register from './htmlfiles/Register';
import Buttons from './htmlfiles/Buttons';
import Change from './htmlfiles/Change';
import {BrowserRouter as Router, Route} from 'react-router-dom';
function App() {
return (
<div>
<Router>
<Route path="/"exact strict component={Login}/>
<Route path="/Register" exact strict component={Register}/>
<Route path ="/Buttons" exact strict component={Buttons}/>
<Route path ="/Change" exact strict component={Change}/>
</Router>
</div>
);
}
export default App;
Логин. js
import React from 'react';
import 'bootstrap/dist/css/bootstrap.min.css';
import { Button } from 'react-bootstrap';
import Avatar from 'react-avatar';
import '../cssfile/Login.css';
import avatar from '../image.png';
import { Formik} from 'formik';
import * as yup from 'yup';
import { Link } from 'react-router-dom';
const Login = (history) => (
<Formik
initialValues={{
UserName:'',
Password:''
}}
onSubmit={(value)=>
{
console.log("The values are",value);
// history.push('./Register')
}}
validationSchema={yup.object(
{
UserName:yup.string()
.required('Required')
.min(4,'Minimum 4 characters required')
.max(8,'Maximum limit is 8 characters'),
Password:yup.string()
.required('Required')
.min(4,'Minimum 4 characters required')
.max(8,'Maximum limit is 8 characters')
}
)}
>
{({handleChange,handleSubmit,errors,values})=> (
<div className="contain">
<div className="card">
<h5 className="card-title">Login</h5>
<div className="card-body">
<div className="avatar">
<Avatar src={avatar} round={true} size="100"/>
</div>
<form onSubmit={handleSubmit} action='/Register'>
<div className="form-group">
<label>User Name:</label>
<input
type="text"
className={errors.UserName ? "form-control is-invalid":"form-control"}
onChange={handleChange}
name="UserName"
value={values.UserName}
/>
{errors.UserName ? <div className="text-danger" style={{height:'0px'}}>*{errors.UserName}*</div>:null}
</div>
<div className="form-group">
<label>Password:</label>
<input
type="password"
className={errors.Password ? "form-control is-invalid":"form-control"}
onChange={handleChange}
name="Password"
value={values.Password}
/>
{errors.Password ?<div className="text-danger" style={{height:'0px'}}> *{errors.Password}*</div>:null}
</div>
<div className="button">
<Button type="submit" className="btn-lg btn-block">Submit</Button>
</div>
</form>
<Link to="./Register" id="p">Don't have an account?</Link>
</div>
</div>
</div>
)
}
</Formik>
);
export default Login;
Регистрация. js
import React from 'react';
import 'bootstrap/dist/css/bootstrap.min.css';
import { Button } from 'react-bootstrap';
import Avatar from 'react-avatar';
import '../cssfile/Register.css';
import avatar from '../image.png';
import { Formik} from 'formik';
import * as yup from 'yup';
const phone = /[7-9]{1}[0-9]{4}[0-9]{5}$/;
const Register = () => (
<Formik
initialValues={{
UserName:'',
email:'',
mobile:'',
Password:'',
CPassword:''
}}
onSubmit={(value)=>
{
console.log("The values are",value);
}}
validationSchema={yup.object(
{
UserName:yup.string()
.required('Required')
.min(4,'Minimum 4 characters required')
.max(8,'Maximum limit is 8 characters'),
email:yup.string()
.required('Required')
.email('Email-id is invalid'),
mobile:yup.string()
.required('Required')
.matches(phone,'Phone number is invalid'),
Password:yup.string()
.required('Required')
.min(4,'Minimum 4 characters required')
.max(8,'Maximum limit is 8 characters'),
CPassword:yup.string()
.required('Required')
.oneOf([yup.ref('Password'),null],"Password doesn't match")
}
)}
>
{({handleChange,handleSubmit,errors,values})=> (
<div className='contain'>
<div className="card">
<h5 className="card-title">Registeration</h5>
<div className="card-body">
<div className="avatar">
<Avatar src={avatar} round={true} size="90"/>
</div>
<form onSubmit={handleSubmit} action='/Login'>
<div className="form-group">
<label>UserName:</label>
<input
type="text"
className={errors.UserName ? "form-control is-invalid":"form-control"}
onChange={handleChange}
name="UserName"
value={values.UserName}/>
{errors.UserName ?<div className="text-danger" style={{height:'0px'}}> *{errors.UserName}*</div>:null}
</div>
<div className="form-group">
<label>Email id:</label>
<input
type="text"
className={errors.email ? "form-control is-invalid":"form-control"}
onChange={handleChange}
name="email"
value={values.email}/>
{errors.email ?<div className="text-danger" style={{height:'0px'}}> *{errors.email}*</div>:null}
</div>
<div className="form-group">
<label>Phone Number:</label>
<input
type="text"
className={errors.mobile ? "form-control is-invalid":"form-control"}
onChange={handleChange}
name="mobile"
value={values.mobile}/>
{errors.mobile ?<div className="text-danger" style={{height:'0px'}}> *{errors.mobile}*</div>:null}
</div>
<div className="form-group">
<label>Password:</label>
<input
type="text"
className={errors.Password ? "form-control is-invalid":"form-control"}
onChange={handleChange}
name="Password"
value={values.Password}/>
{errors.Password ?<div className="text-danger" style={{height:'0px'}}> *{errors.Password}*</div>:null}
</div>
<div className="form-group">
<label>Confirm Password:</label>
<input
type="text"
className={errors.CPassword ? "form-control is-invalid":"form-control"}
onChange={handleChange}
name="CPassword"
value={values.CPassword}/>
{errors.CPassword ?<div className="text-danger" style={{height:'0px'}}> *{errors.CPassword}*</div>:null}
</div>
<div className="button">
<Button type="submit" className="btn-lg btn-block">Register</Button>
</div>
</form>
</div>
</div>
</div>
)
}
</Formik>
);
export default Register;
Вход. css
.card
{
width: 20%;
height:80%;
margin-left: 600px;
background-color:grey;
}
.card-title
{
text-align: center;
padding-top: 80px;
}
.contain
{
width:100%;
height: 100%;
padding-top: 150px;
background-color:rgb(250, 112, 112);
}
.button
{
margin-top: 30px;
}
.card-body
{
position:relative;
bottom: 100px;
}
.avatar
{
position: relative;
bottom: 90px;
left: 80px;
}
#p{
margin-left: 50px;
color:blue;
text-decoration: underline;
cursor: pointer;
}
**Register.css**
.card
{
width: 40%;
height:95%;
margin-left: 450px;
background-color:grey;
}
.card-title
{
text-align: center;
padding-top: 50px;
}
.contain
{
width:100%;
height: 100%;
padding-top: 80px;
background-color:rgb(250, 112, 112);
}
.button
{
margin-top: 30px;
}
.card-body
{
position:relative;
bottom: 110px;
}
.avatar
{
position: relative;
left: 240px;
bottom: 40px;
}