How do you conditionally render components?

  • Use the "if" statement in JSX
  • Use the "render" method in JSX
  • Use the switch statement in JSX
  • Use the ternary operator in JSX
To conditionally render components in React, you can use the ternary operator in JSX. This allows you to specify a condition, and render one component if the condition is true, and another component if the condition is false. You can also use other conditional statements, such as "if" statements or switch statements, outside of the JSX to determine which component to render.

What is the mental model of redux-saga?

  • Asynchronous call stack
  • Finite state machine
  • Observer pattern
The mental model of redux-saga is that of a finite state machine. It allows you to define a sequence of steps for handling a specific side effect and provides a way to manage the state of that sequence. This makes it easier to reason about and test complex logic in your Redux application.

What is the proper way to access Redux store?

  • Use the getState() method
  • Use the connect() function
  • Use the Provider component
  • Use the useContext() hook
The proper way to access the Redux store is to use the connect() function provided by React Redux. This allows you to connect a component to the store and access its state and dispatch functions.

What is the purpose of the constants in Redux?

  • To make the code easier to read and understand
  • To prevent changes to the action types
  • To enable minification and other performance optimizations
Constants in Redux are used to define action types, which are used to identify the type of action being dispatched to the Redux store. By using constants, you can prevent unintended changes to the action types and make it easier to understand the purpose of each action.

What is a switching component?

  • A component that animates between different states
  • A component that changes its state based on user input
  • A component that provides an interface for switching between different pages
  • A component that switches between multiple child components
A switching component in React is a component that renders one of several child components based on some condition or state. This is commonly used to switch between different views or user interface elements in response to user input or other events.

How Redux Form initialValues get updated from state?

  • initialValues are automatically synced with the Redux store
  • You need to manually update initialValues in the form component
  • initialValues are passed in as a prop to the form component
The initialValues prop in Redux Form is used to set the initial values for the form fields. You can pass in an object of initial values as the initialValues prop, which will be used to populate the form fields when the form is first rendered. The initialValues can be sourced from the Redux store, and can be updated by dispatching an action that updates the relevant values in the store. The form component will automatically update when the initialValues prop changes.

How to conditionally apply class attributes?

  • Using the "class" attribute and a ternary operator
  • Using the "class" attribute and an if statement
  • Using the "className" attribute and a ternary operator
  • Using the "className" attribute and an if statement
In React, you can conditionally apply class attributes by using the "className" attribute and a ternary operator. This allows you to add or remove classes based on some condition, such as the state of the component. The "className" attribute is used instead of the "class" attribute in React, because "class" is a reserved keyword in JavaScript.

What is the purpose of forward ref in HOCs?

  • To forward props to child components
  • To forward the ref to child components
  • To wrap child components with additional functionality
  • To wrap child components with a higher-order component
Forwarding refs in Higher-Order Components (HOCs) is a technique for passing a ref from a parent component to its child components. This allows the child components to access the DOM node or React element that the ref is attached to. To forward a ref in an HOC, the HOC component should use the forwardRef() method to create a new component that can receive a ref. The new component can then be used to wrap the child components and pass the ref through to the child components.

Give a simple example of Jest test case

  • testing a Redux reducer
  • testing an API call
  • testing a component's render method
A simple example of a Jest test case would be testing a component's render method. For example, you could test that a component renders a specific HTML element or that it correctly sets a state variable.

What is the purpose of render method of react-dom?

  • To render a React component to a canvas
  • To render a React component to a file
  • To render a React component to the client
  • To render a React component to the server
The render method of the react-dom package is used to render a React component to the client-side DOM. The render method takes two arguments: the component to render and the DOM element to render it to.

Why do you not require to use inheritance?

  • React components use composition
  • Inheritance is not supported in React
  • React components use mixins instead
  • Inheritance is deprecated in React
React components use composition rather than inheritance to build complex UI components. Composition allows components to be composed of multiple smaller components, each with their own logic and behavior. This makes components more reusable and easier to manage than inheritance-based approaches.

How to set state with a dynamic key name?

  • By using the setState() method with a variable key name
  • By using the this.context object with a variable key name
  • By using the this.props object with a variable key name
  • By using the this.state object with a variable key name
To set state with a dynamic key name, you can use the setState() method with a variable key name. This allows you to create new state keys based on user input or other dynamic data.