Skip to content

A food ordering app with real-time data and dynamic UI powered by Swiggy's free data API. Features include configuration-driven data fetching, live updates, robust authentication, and a polished user interface.

Notifications You must be signed in to change notification settings

itsMeBishal001/Foodify

Repository files navigation

Lets Start with React

updating all the staf related my react learning journy

Is JSX mandatory for React?

jsx is not mandatory for easy to write our code jsx is used. =>JSX by using React.createElement() and make it easy and less code and maintainable

Is ES6 mandatory for React?

no ES6 also not mandatory for react .without using ES6 features, but it may require more code and be less efficient. Some of the features of ES6 that are commonly used in React include:

Arrow functions

// ES5 function add(a, b) { return a + b; }

// ES6 const add = (a, b) => { return a + b; };

Classes

In ES6, classes were introduced as a new way to create objects and to implement inheritance in JavaScript. The syntax for creating classes is similar to other object-oriented programming languages like Java and C++.

Template literals

Destructuring

Destructuring is a feature in JavaScript that allows you to extract values from objects or arrays and assign them to variables. It provides a shorthand syntax for extracting data and can make your code more concise and readable. const numbers = [1, 2, 3]; const [first, second, third] = numbers; In this example, the values in the numbers array are destructured and assigned to the first, second, and third variables respectively. This is equivalent to writing:

const first = numbers[0]; const second = numbers[1]; const third = numbers[2]; const person = { name: 'John', age: 30 }; const { name, age } = person; In this example, the name and age properties of the person object are destructured and assigned to the name and age variables respectively. This is equivalent to writing:

const name = person.name; const age = person.age; Destructuring is a useful feature because it allows you to write more concise and readable code when working with complex data structures.

Spread operator

allows you to expand an array or other iterable object into individual elements. It is denoted by three consecutive dots (...).

The spread operator can be used in several ways. One common use case is to concatenate arrays. For example:

const arr1 = [1, 2, 3]; const arr2 = [4, 5, 6]; const arr3 = [...arr1, ...arr2]; console.log(arr3); // output: [1, 2, 3, 4, 5, 6] In this example, the spread operator is used to combine the elements of arr1 and arr2 into a new array arr3. This is equivalent to using the concat() method: const arr3 = arr1.concat(arr2);

{TitleComponent} vs {} vs {} in JSX

{TitleComponent}

this is the way of writing elements within components

{}

this is the way of writing comonent inside component

{}

this is the another way of writing comonent inside component

How can I write comments in JSX?

within { } can write comments. because between {here the all syntex is same like javascript}

What is <React.Fragment></React.Fragment> and <></> ?

this 2 is same thing .<></> intenally works as <React.Fragment></React.Fragment> in jsx we cant return more then 1 component thats why this is suggestable ,& in the dom you are not see this ,like unvissable

What is Virtual DOM?

When you create a React component, React creates a corresponding Virtual DOM representation of that component.

When you make changes to the component, React updates the Virtual DOM.

React compares the previous Virtual DOM with the new one to determine which parts of the actual DOM need to be updated.

React makes the minimum possible changes to the actual DOM to reflect the changes in the Virtual DOM.

The updated component is now rendered on the screen.

Because the Virtual DOM is just a lightweight representation of the actual DOM, updating it is much faster than updating the actual DOM directly. By minimizing the number of actual DOM updates, React can improve the performance of your application, especially when dealing with large and complex user interfaces.

In summary, the Virtual DOM is a key concept in React that enables it to efficiently update the actual DOM based on changes in the component. By minimizing the number of actual DOM updates, React can deliver a better performance, improved user experience and optimized rendering of the application.

What is Reconciliation in React?

Reconciliation is a process in React (version above 18 )that helps to efficiently update the user interface by comparing the previous and new states of components and determining what needs to be updated in the actual DOM.

Reconciliation can be divided into two phases:

  1. The render phase: In this phase, React creates a new tree of components based on the new state or props. This phase is performed on the virtual DOM and does not affect the actual DOM.

  2. The commit phase: In this phase, React updates the actual DOM based on the changes identified during the render phase. This phase is performed only where necessary, and only updates the parts of the DOM that have changed.

What is React Fiber?

React Fiber is a complete rewrite of the React core algorithm that was introduced in React v16. It is a set of internal algorithms and data structures that enables React to perform efficient and incremental updates to the user interface. The main goals of React Fiber are:

  1. To improve the performance and responsiveness of the user interface by enabling incremental updates.

  2. To provide better support for async rendering, which can help to improve the user experience and reduce the time to interactive.

  3. To enable new features like error boundaries and suspense.

Why we need keys in React? When do we need keys in React?

In React, keys are used to help React identify which elements in a list have changed, been added, or been removed. When rendering a list of elements in React, each element must have a unique key associated with it. This helps React to efficiently update the DOM when the list changes, by minimizing the amount of DOM manipulation needed.

e need keys in React to help identify unique elements in a list or when rendering child components. They are essential for optimizing the performance of React applications and should be used whenever working with dynamic lists or child components.

Can we use index as keys in React?

this is not suggested to use index as a key React recommends that you do not use indexes as keys, since it could impact performance negatively and could lead to some unstable component behaviour.

What is props in React? Ways to

In React, "props" is a shorthand for "properties". It's a mechanism for passing data between React components.

Props are a way to send data from one component to another as an argument, and can be thought of as the equivalent of function arguments. They are read-only, meaning that the receiving component cannot modify the values of the props passed to it Pass props explicitly: This is done by explicitly passing the props as attributes of the component when it is rendered. For example, .

Pass props using spread syntax: This is done by using the spread syntax to pass all the props in an object. For example, <MyComponent {...props} />, where props is an object that contains all the props to be passed. A Config Driven UI is a user interface (UI) design approach where the behavior and appearance of the UI are determined by a configuration file, rather than being hard-coded in the application's source code.

What is a Config Driven UI ?

In a Config Driven UI, the configuration file contains information about the components, layouts, styles, and data sources used in the UI. This information is used by the application at runtime to dynamically generate the UI, allowing for greater flexibility and ease of customization.

One advantage of using a Config Driven UI is that it makes it easier to maintain and update the UI. Changes to the UI can be made by modifying the configuration file, rather than having to make changes to the application's source code. This also makes it easier to customize the UI for different users or use cases, without having to create separate versions of the application.

Another advantage of a Config Driven UI is that it can simplify the development process by separating the UI design from the application logic. This can make it easier to build and maintain complex UIs, and can also make it easier to reuse UI components across multiple applications or projects.

Overall, a Config Driven UI can provide greater flexibility and efficiency in UI design and development, while also making it easier to maintain and update the UI over time.

About

A food ordering app with real-time data and dynamic UI powered by Swiggy's free data API. Features include configuration-driven data fetching, live updates, robust authentication, and a polished user interface.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages