Skip to content

Instantly share code, notes, and snippets.

@Wellers0n
Wellers0n / scroll.js
Created February 18, 2019 20:38
Scroll smooth
class App extends Component {
constructor(props){
super(props)
this.scrollToIdOnClick = this.scrollToIdOnClick.bind()
}
scrollToIdOnClick(event){
event.preventDefault()
const element = event.target;
@Wellers0n
Wellers0n / Auth.js
Created February 21, 2019 01:50
authentication token with KoaJS
import jwt from 'jsonwebtoken';
const authMiddleware = async (ctx, next) => {
const { authorization } = ctx.request.headers;
if (authorization) {
jwt.verify(authorization, 'batman', (err, decoded) => {
if (err) return ctx.body = 401
ctx.state.user = decoded.id;
console.log(ctx.state.user)
import React from 'react'
import Home from './screens/Home'
import PrivateRouter from './components/privateRouter'
import Login from './screens/Login'
import {BrowserRouter, Switch, Route} from 'react-router-dom'
const Router = () => {
return (
<BrowserRouter>
<div>
// Login.js
import React from 'react'
const Login = ({history}) => {
const loginIn = () => {
localStorage.setItem('token', 'batman')
history.push('/home')
}
return (
<div>
// Home.js
import React from 'react'
const Home = ({history}) => {
const redirectLogin = () => {
localStorage.removeItem('token')
history.push('/')
}
return (
<div>
@Wellers0n
Wellers0n / privateRouter.js
Created May 27, 2019 14:04
private Router
// privateRouter.js
import React from 'react';
import { Route, Redirect } from 'react-router-dom';
import {isAuthenticated} from './../auth'
const PrivateRouter = ({component: Component, ...rest}) => {
return (
<Route {...rest} render={(props) => (
isAuthenticated() ? (
<div>
@Wellers0n
Wellers0n / auth.js
Created May 27, 2019 14:05
authentication
// auth.js
export const isAuthenticated = () => localStorage.getItem('token');
@Wellers0n
Wellers0n / init.txt
Created June 3, 2019 12:53
init project
yarn add @babel/cli @babel/core @babel/preset-react @babel/preset-env react react-dom react-hot-loader @babel/plugin-proposal-class-properties @babel/plugin-proposal-object-rest-spread @babel/plugin-transform-runtime babel-loader css-loader file-loader html-webpack-plugin style-loader url-loader webpack webpack-cli webpack-dev-server
import React from 'react';
import {createAppContainer, createStackNavigator} from 'react-navigation';
import FunctionScreen, {navigationOptions} from './src/screen/Function'
import ClassScreen from './src/screen/Class'
const Root = createStackNavigator({
ClassScreen: {
screen: ClassScreen
},
FunctionScreen:{
@Wellers0n
Wellers0n / class.js
Created June 4, 2019 22:50
classScreen
import React from "react";
import { StyleSheet, Text, View } from "react-native";
export default class ClassScreen extends React.Component {
render() {
return (
<View style={styles.container}>
<Text>Class component!</Text>
</View>