Skip to content

Instantly share code, notes, and snippets.

View bicky-tmg's full-sized avatar
😁
It's not a bug - it's an undocumented feature.

Bicky Tamang bicky-tmg

😁
It's not a bug - it's an undocumented feature.
View GitHub Profile
@bicky-tmg
bicky-tmg / App.js
Last active July 25, 2022 11:07
A simple app passing data down through props
import React, { useState } from "react";
function App() {
const [user, setUser] = useState('John');
return (
<div>
<NavBar setUser={setUser} />
<MainPage user={user} />
</div>
import React, { useState, createContext, useContext } from "react";
//Creating a context
const UserContext = createContext(undefined);
function App() {
const [user, setUser] = useState('John');
return (
<div>
@bicky-tmg
bicky-tmg / Form.tsx
Last active September 20, 2022 06:12
Boilerplate code for form component
import React from "react";
const Form = () => {
return (
<form className="px-8 pt-6 pb-8 mb-4">
<div className="mb-4 md:flex md:justify-between">
<div className="mb-4 md:mr-2 md:mb-0">
<label
className="block mb-2 text-sm font-bold text-gray-700"
htmlFor="firstName"
import React from "react";
import Form from "./Form";
function App() {
return (
<div className="max-w-xl mx-auto w-full">
<div className="flex justify-center my-12">
<div className="w-full lg:w-11/12 bg-white p-5 rounded-lg shadow-xl">
<h3 className="pt-4 text-2xl text-center font-bold">
Create New Account
const validationSchema = z
.object({
firstName: z.string().min(1, { message: "Firstname is required" }),
lastName: z.string().min(1, { message: "Lastname is required" }),
email: z.string().min(1, { message: "Email is required" }).email({
message: "Must be a valid email",
}),
password: z
.string()
.min(6, { message: "Password must be atleast 6 characters" }),
import { SubmitHandler, useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
import { z } from "zod";
const validationSchema = z
.object({
firstName: z.string().min(1, { message: "Firstname is required" }),
lastName: z.string().min(1, { message: "Lastname is required" }),
email: z.string().min(1, { message: "Email is required" }).email({
message: "Must be a valid email",
@bicky-tmg
bicky-tmg / Form.tsx
Last active September 21, 2022 02:26
const Form = () => {
const {
register,
handleSubmit,
formState: { errors },
} = useForm<ValidationSchema>({
resolver: zodResolver(validationSchema),
});
const onSubmit: SubmitHandler<ValidationSchema> = (data) => console.log(data);
<form className="px-8 pt-6 pb-8 mb-4" onSubmit={handleSubmit(onSubmit)}>
<div className="mb-4 md:flex md:justify-between">
<div className="mb-4 md:mr-2 md:mb-0">
<label
className="block mb-2 text-sm font-bold text-gray-700"
htmlFor="firstName"
>
First Name
</label>
<input
import { SubmitHandler, useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
import { z } from "zod";
const validationSchema = z
.object({
firstName: z.string().min(1, { message: "Firstname is required" }),
lastName: z.string().min(1, { message: "Lastname is required" }),
email: z.string().min(1, { message: "Email is required" }).email({
message: "Must be a valid email",