react+apollo+prisma入门demo搭建—5、身份验证
根据HOW TO GRAPHQL官网的例子,做了些对最新版的改动,适合最新框架的学习。
本系列文章注重前端方面的开发,对于node方面的放在下一个系列。在此过程中有任何问题,都欢迎在评论中提问,会及时反馈
系列目录:
第一章. Frontend开始
第二章. Queries组件编写(Loading Links)
第三章. Mutations组件编写(Creating Links)
第四章. 页面路由
第五章. 身份验证
为了照顾更加全面的读者,我写的会尽量详细,熟练的开发者可进行快速选择性的阅读
页面路由
本节我们来学习如何使用Apollo实现身份验证功能,以便为用户提供注册和登录功能。
准备Login组件
在components文件夹中创建Login.js文件
import React, { Component } from 'react'
import { AUTH_TOKEN } from '../constants'
class Login extends Component {
state = {
login: true, // switch between Login and SignUp
email: '',
password: '',
name: '',
}
render() {
const { login, email, password, name } = this.state
return (
<div>
<h4 className="mv3">{login ? 'Login' : 'Sign Up'}</h4>
<div className="flex flex-column">
{!login && (
<input
value={name}
onChange={e => this.setState({ name: e.target.value })}
type="text"
placeholder="Your name"
/>
)}
<i