What are Pure Components?
- Components that implement shouldComponentUpdate
- Components that only have a render method
- Components that use the React.Pure API
- Components that use the useMemo hook
Pure components in React are components that implement the shouldComponentUpdate lifecycle method to improve performance. This method compares the current props and state to the next props and state, and determines whether the component needs to be re-rendered. If the props and state have not changed, the component can skip the rendering process.
How Virtual DOM works?
- It creates a new DOM tree on each update
- It updates only the changed parts of the actual DOM
- It updates the Virtual DOM and calculates the most efficient way to update the actual DOM
- It updates the actual DOM directly
When a component's state changes in React, it updates the Virtual DOM and calculates the most efficient way to update the actual DOM based on the differences between the two versions. This approach minimizes the number of changes that need to be made to the actual DOM and improves performance.
How JSX prevents Injection Attacks?
- By using string concatenation
- By using a virtual DOM
- By escaping special characters
- By using JavaScript eval() function
JSX prevents injection attacks by escaping special characters. When JSX is compiled, special characters are automatically escaped, preventing them from being interpreted as code. This helps to prevent XSS (cross-site scripting) attacks.
How you use decorators in React?
- Use them as HOCs
- Use them as class decorators
- Use them as event handlers
- Use them as function decorators
Decorators in React can be used as class decorators to add functionality to a component class. For example, you can use a decorator to add additional lifecycle methods or state to a component. Decorators can be written as higher-order components (HOCs) or as regular functions.
How React PropTypes allow different type for one prop?
- PropTypes does not allow different types for one prop
- You need to define separate PropTypes for each type
- You can use PropTypes.oneOfType()
You can use PropTypes.oneOfType() to allow a prop to have multiple possible types. For example, you can define a prop that can be either a string or a number like this: 'myProp: PropTypes.oneOfType([PropTypes.string, PropTypes.number])'. This will allow the prop to accept values of either type, and will throw a warning if a value of a different type is passed in.
What is "key" prop and what is the benefit of using it in arrays of elements?
- A prop that determines the order of elements in an array
- A prop that provides a unique identifier for each element in an array
- A prop that specifies the position of an element in an array
- A prop that specifies the type of each element in an array
The "key" prop in React is a special prop that provides a unique identifier for each element in an array of elements. It is used to optimize the performance of rendering by allowing React to identify which elements have changed, and to update only those elements instead of re-rendering the entire list. The "key" prop should be a unique and stable identifier for each element, such as an ID or index.
What are stateful components?
- Components that are only used for layout
- Components that don't use any state
- Components that maintain state
- Components that only have props
Stateful components, also known as class components, are components that maintain state. Stateful components are useful for creating more complex UI components that need to maintain state, but they are more difficult to test than stateless components.
Do I need to keep all my state into Redux? Should I ever use react internal state?
- Yes, you should always use Redux to manage all of your application state
- No, you should never use Redux and always use React internal state
- It depends on the complexity and size of your application
- It depends on whether you are using class or functional components
Whether or not to use Redux to manage state in a React application depends on the complexity and size of the application. For small and simple applications, it may be sufficient to use React's internal state management. However, for larger and more complex applications, Redux can be a helpful tool for managing application state.
Is the ref argument available for all functions or class components?
- Yes, for all components
- No, only for class components
- No, only for function components
The ref argument is only available for class components in React. Function components do not have an instance, so refs cannot be attached to them. Refs can be attached to DOM elements, class components, and functional components that are created using the forwardRef() method.
What is the difference between setState and replaceState methods?
- There is no difference, they both update component state
- replaceState is deprecated in React v16, while setState is still supported
- setState is used in class components, while replaceState is used in functional components
- setState merges the new state with the old state, while replaceState overwrites the old state
In React, the "setState" method is used to update component state, and it merges the new state with the old state. The "replaceState" method is similar, but it overwrites the old state completely with the new state. However, "replaceState" is deprecated in React and should not be used. Instead, you should use the "setState" method to update state in a React component.