meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ixc2024:tech:wfrontend:implementing_planning:start [2024/05/27 21:26] – rubenhuygens | ixc2024:tech:wfrontend:implementing_planning:start [2024/05/28 10:58] (current) – alesta | ||
---|---|---|---|
Line 28: | Line 28: | ||
); | ); | ||
} | } | ||
+ | |||
+ | [[https:// | ||
+ | [[https:// | ||
Line 84: | Line 87: | ||
export default App; | export default App; | ||
- | - Now you can start adding Routes | + | == Routing== |
+ | Routing enables | ||
- Routing of the project could be done as visible here: | - Routing of the project could be done as visible here: | ||
Line 93: | Line 98: | ||
{{: | {{: | ||
- | + | - Save and View Changes | |
- | - Save and View Changes | + | |
- Save App.js after making changes. | - Save App.js after making changes. | ||
- View Changes in Browser | - View Changes in Browser | ||
- | | + | |
+ | == Component creation == | ||
+ | |||
- Add a New Component | - Add a New Component | ||
- Create a New Component File | - Create a New Component File | ||
Line 138: | Line 144: | ||
- The browser will reload, and you should see the new component' | - The browser will reload, and you should see the new component' | ||
+ | == React Hooks == | ||
+ | |||
+ | Hooks are very important concept in React, because they are the core mechanism of tracking the state of data and content on the web pages. | ||
+ | |||
+ | Learn about hooks: [[https:// | ||
+ | |||
+ | Most useful hooks are: | ||
+ | |||
+ | **useState()** | ||
+ | * Tracks the state of the data, the state of the variable to which it is refering | ||
+ | * It has it's // | ||
+ | |||
+ | {{: | ||
+ | |||
+ | **useEffect()** | ||
+ | * Tracks changes that are happening in the content, and is triggered if it notices a change in the variable that it was tracking | ||
+ | * Tracked variable is put within the [ ] brackets at the right side | ||
+ | * If the brackets are left empty, the useEffect hook will activate when the page is loaded, so it can be used for triggering the fetch of the data from the backend, or for doing certain logic for setting up the page | ||
+ | * Otherwise, the useEffect will be triggered with the change of the variable within the brackets | ||
+ | |||
+ | {{: | ||
+ | |||
+ | **useNavigate()** | ||
+ | * It is used for moving into another page, through code | ||
+ | * This can be used when we want to transfer user to a different page, for example after they complete the process of registration, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==Navigation== | ||
+ | |||
+ | It is always good to implement some sort of a navigation for your users. A go-to way of doing so is by implementing a Navigation Bar - Navbar. However, navigation can also be implemented for example when we want to open a profile of another user, by clicking on the user's profile picture or their name. | ||
+ | |||
+ | For implementation of Navbars: [[https:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | For implementation of Links: [[https:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==Add personality to your Web Application == | ||
+ | |||
+ | To provide users with a nice experience while using your App, it is necessary to add a custom name and an icon to your app. | ||
+ | |||
+ | This information is visible in your browser tab, when your app is open and running. | ||
+ | |||
+ | As visible here: | ||
+ | * name: ImpactXchange2024 | ||
+ | * icon: Flag of Malaysia | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Setting up these two things helps your users find your application within all the other tabs that they have open. | ||
+ | |||
+ | To do this you should follow the next steps: | ||
+ | - Choose a suitable picture for your icon | ||
+ | - It should be something small, that does not require a lot of space and memory | ||
+ | - Rename the name of the picture into __favicon.ico__ (with .ico extension) and put it in the //Public// folder of your project | ||
+ | - To change the name find index.html file of your project and change the text that is withing < | ||
+ | |||
+ | | ||
+ | |||
+ | {{: |