Skip to content

fionnachan/vite-algosdk

Repository files navigation

Hello React!

React is a popular UI library for building web apps. Vite is a powerful tool for building javascript apps that bundles all of your code and shows immediate changes while you're editing.

What's in this project?

README.md: That’s this file, where you can tell people what your cool website does and how you built it.

index.html: This is the main page template React uses to build your site–it imports index.jsx to kick things off. When you're ready to share your site or add a custom domain, change SEO/meta settings in here.

src/: This folder contains all the files React will use to build your site.

Working in the src/ folder 📁

React defines site components in JSX, an extended version of JavaScript, so you'll see lots of .jsx files in the project.

src/index.jsx: This is the root of your React app. The index script is imported in the site home template index.html. If you add libraries like chakra-ui or redux, you'll insert their providers here. The <HelmetProvider> is an example of a provider you'd use.

src/app.jsx: The base for defining your React app, this script imports the components that make up the site content. The index.jsx file imports the App script. The router (from wouter 🐰) is also imported here.

src/styles: CSS files add styling rules to your content. You have a lot of importing options for CSS including CSS modules if that's your jam.

src/components/router.jsx: One of the most important parts of a single page app is the router. It's how we know what page to show–the code maps the paths to the Home component. We're using Wouter, a tiny minimalist router. You could replace it for something like React Router.

src/components/seo.jsx: When you share your site on social media, you'll want to make sure the meta tags are correct and that you've got an image. All of the settings for this file are in src/seo.json.

Hooks 🪝

src/hooks/: Hooks are a powerful way to provide interaction with your app.

src/hooks/wouter-hash.jsx: We use hashed routing with wouter.

Pages 📃

src/pages/: These files include components that specify the content of the Home and About pages. Each one is defined as a function and referenced in router.jsx. The content is built into the page outline specified in app.jsx.

src/pages/home.jsx The content of the Home page, also defined as a component function. The page includes the animated effect on hover, and title change effect on click (which is also a handy demo of using state data in React).