Skip to content

Instantly share code, notes, and snippets.

View trblackw's full-sized avatar

Tucker Blackwell trblackw

View GitHub Profile
state = {
name: "Bob",
age: 24,
hobbies: ["swimming", "hiking"],
background: {
jobs: ["mechanic", "bank teller"],
},
}
let name = "Bob"
let age = 24
name = age //hey you mutated the name variable!
type UserForm = Omit<User, 'id' | 'updated_at'>;
interface User {
id: string;
updated_at: string;
username: string;
age: number;
email: string;
}
interface User {
username: string;
age: number;
email: string;
}
const createUser = (user: User) => {
//fetch request that requires all User properties
}
interface CreateUserRequest {
username: string;
age: number;
email: string;
}
interface UpdateUserRequest {
username?: string;
age?: number;
email?: string;
import React, { useState } from 'react';
const initialFormState = {
email: '',
password: '',
passwordConfirm: ''
}
const Register: React.FC = (): JSX.Element => {
const [form, setForm] = useState(initialFormState)
import React, { useState } from 'react';
interface FormState {
email: string;
password: string;
passwordConfirm: string;
}
const initialFormState: FormState = {
email: '',
import React, { useState } from 'react';
interface FormState {
email: string;
password: string;
passwordConfirm: string;
}
const initialFormState: FormState = {
email: '',
import React, { useContext, useEffect, useRef, useState } from 'react';
import { Error } from 'state/firebaseTypes';
import UserModel from 'state/users/userModel';
import { FirestoreContext } from 'context/FirestoreContextProvider';
//would be defined elsewhere
type FetchRequest<T, E = unknown> = { fetching: boolean; data: T; error: E | null };
const Users: React.FC = (): JSX.Element => {
const [users, setUsers] = useState<FetchRequest<User[], Error>>({ fetching: true, data: [], error: null });