What are stateless components?

  • Components that are only used for layout
  • Components that don't have any children
  • Components that don't have any props
  • Components that don't use any state
Stateless components, also known as functional components, are components that don't use any state. Stateless components are simpler and easier to test than stateful components, but they can't be used for more complex UI components that need to maintain state.

What is the difference between createElement and cloneElement?

  • There is no difference
  • createElement is a class method, while cloneElement is an instance method
  • createElement is used to clone existing elements, while cloneElement is used to create new elements
  • createElement is used to create new DOM elements, while cloneElement is used to clone existing elements
createElement is a method used to create new React elements, while cloneElement is a method used to clone existing React elements and pass new props to the cloned element.

How do you pass arguments to an event handler?

  • By using the event object
  • By using arrow functions
  • By using the bind() method
  • By using the apply() method
In React, arguments can be passed to an event handler by using arrow functions. Arrow functions allow parameters to be passed to the function when it is called, rather than when it is defined. This allows event handlers to receive arguments without causing unnecessary re-renders.

What are hooks?

  • Functions that let you "hook into" React state and lifecycle features from functional components
  • Functions that let you modify the DOM directly from React components
  • Functions that let you render custom elements in React
  • Functions that let you create reusable UI components in React
Hooks are functions that allow developers to "hook into" React state and lifecycle features from functional components. This means that functional components can now have state and lifecycle methods, making them more powerful and flexible. Hooks were introduced in React 16.8 and have since become a popular way of managing state and adding behavior to functional components.

Why we need to pass a function to setState()?

  • To avoid infinite loops
  • To ensure proper synchronization of state updates
  • To handle errors gracefully
  • To improve performance
In React, we need to pass a function to the "setState" method in order to avoid infinite loops. If we pass an object directly, it can cause the component to re-render and update the state endlessly. By passing a function, we can ensure that the state is updated correctly and avoid these issues.

What is React PropType array with shape?

  • A way to validate a string with a specific shape
  • A way to validate an array of objects with a specific shape
  • A way to validate an array of values with a specific shape
  • A way to validate an object with a specific shape
The "shape" propType in React allows you to validate an object with a specific shape, while the "arrayOf" propType allows you to validate an array of values. The "arrayOf" propType can be combined with the "shape" propType to validate an array of objects with a specific shape. This is useful for validating data structures in React components.

How to debug your React Native app?

  • Use console.log() statements
  • Use the React Native Debugger tool
  • Use the Chrome DevTools
  • There is no way to debug React Native apps
To debug your React Native app, you can use the React Native Debugger tool. This is a standalone debugging tool that provides a range of features for debugging React Native apps, including console logging, breakpoints, and network inspection. The React Native Debugger tool can be used with both iOS and Android devices and emulators.

How to test React Native apps?

  • Use the Jest testing framework
  • Manually test the app on a device or emulator
  • Use the Mocha testing framework
  • There is no way to test React Native apps
To test React Native apps, you can use the Jest testing framework. Jest is a JavaScript testing framework that is widely used in the React and React Native communities. Jest provides a range of features for testing React Native apps, including snapshot testing, mocking, and coverage reports.

Why we need to be careful when spreading props on DOM elements?

  • It can cause security issues
  • It can cause the component to render incorrectly
  • It can spread invalid HTML attributes
  • It causes a performance issue
When spreading props on DOM elements, it is important to be careful because it can spread invalid HTML attributes. This can cause the component to render incorrectly or even create security vulnerabilities. It is recommended to only spread props on components that you trust, or to manually whitelist the valid attributes.

How to pass numbers to React component?

  • Wrap the number in quotes as a string
  • Use the Number() constructor
  • Use the parseInt() or parseFloat() functions
  • Pass the number directly as a prop
To pass a number to a React component, you can simply pass the number directly as a prop. React will automatically handle the conversion of the number to a string when rendering the component. For example, you could pass a number like this: ' '. If you need to pass a number as a string, you can wrap it in quotes like any other string.

What is the use of refs?

  • To create references to DOM elements
  • To create references to component instances
  • To handle events
  • To manage state
Refs in React are used to create references to DOM elements. They allow developers to access and manipulate the properties and methods of DOM elements directly, without the need for additional logic or event handling. Refs are typically used when working with third-party libraries, or when manipulating the DOM directly is necessary.

What is your favorite React stack?

  • MERN (MongoDB, Express, React, Node)
  • MEAN (MongoDB, Express, Angular, Node)
  • MEVN (MongoDB, Express, Vue, Node)
  • Other
This is a subjective question and the correct answer will vary depending on the individual's experience and preferences. There is no one "correct" answer.