Skip to content

Instantly share code, notes, and snippets.

View trblackw's full-sized avatar

Tucker Blackwell trblackw

View GitHub Profile
interface CreateUserRequest {
username: string;
age: number;
email: string;
}
interface UpdateUserRequest {
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 User {
id: string;
updated_at: string;
username: string;
age: number;
email: string;
}
type UserForm = Omit<User, 'id' | 'updated_at'>;
let name = "Bob"
let age = 24
name = age //hey you mutated the name variable!
state = {
name: "Bob",
age: 24,
hobbies: ["swimming", "hiking"],
background: {
jobs: ["mechanic", "bank teller"],
},
}
state.hobbies.push("reading")
const initialFormState = {
email: "",
password: "",
valid: false,
}
function Form() {
const [form, setForm] = useState(initialFormState)
//when updating the password field
const [users, setUsers] = useState([
{ id: 1, name: "Bob", age: 24, emailConfirmed: false },
{ id: 2, name: "Sarah", age: 30, emailConfirmed: true },
{ id: 3, name: "Kevin", age: 20, emailConfirmed: false },
])
//confirmedUserId derived from email confirmation
setUsers(prevState => prevState.map(user => (user.id === confirmedUserId ? { ...user, emailConfirmed: true } : user)))