reactで、認証機能の実装をしています。 下記の◉のソースコードを v5 ⇨ v6 の書き換えた場合のソースコードを知りたいです。 どなたかアドバイスをお願いします。
試したこと React Router を v5 から v6で検索したら、下記のサイトが出て調べたが、自身の知りたいことが記載していなかった。
[React Router を v5 から v6 にアップデートしてみました] (https://dev.classmethod.jp/articles/react-router-5to6/) [React Router v6がリリースされたので端的にまとめます] (https://coders-shelf.com/react-router-v6-intro/)
import React, { useContext } from "react";
◉ import { withRouter } from "react-router";
import { Link } from 'react-router-dom'
import { AuthContext } from "./AuthProvider";
import "firebase/auth";
import { styled } from '@material-ui/core/styles';
import Button from '@material-ui/core/Button';
const SignInButton = styled(Button)({
background: '#6fc4f9',
fontSize: '1.8rem',
border: 0,
borderRadius: 3,
color: 'white',
padding: '10px 40px',
marginTop: '30px',
'&:hover': {
backgroundColor: '#57baf8',
},
});
const Login = ({ history }) => {
const { login } = useContext(AuthContext);
//AuthContextからlogin関数を受け取る
const handleSubmit = event => {
event.preventDefault();
const { email, password } = event.target.elements;
login(email.value, password.value, history);
};
return (
<div className="wrapper">
<div className="auth-container">
<h1>Sign In</h1>
<form className="auth-form" onSubmit={handleSubmit}>
<div className="auth-form-item">
<label>E-mail Address</label>
<input name="email" type="email" placeholder="email@gmail.com" />
</div>
<div className="auth-form-item">
<label>Password</label>
<input name="password" type="password" placeholder="Password"/>
</div>
<SignInButton type="submit">SIGN IN</SignInButton>
</form>
<Link to="/signup" className="auth-bottom" >SignUpはこちら</Link>
</div>
</div>
);
};
◉export default withRouter(Login);