Class components, the render method will be called, whenever the state of the components changes. On the other hand, the Functional components render the UI based on the props. Class Components should be preferred whenever we have the requirement with the state of the component.
Context is primarily used when some data needs to be accessible by many components at different nesting levels. Apply it sparingly because it makes component reuse more difficult. If you only want to avoid passing some props through many levels, component composition is often a simpler solution than context.
The best way to test Context is to make our tests unaware of its existence and avoiding mocks. We want to test our components in the same way that developers would use them (behavioral testing) and mimic the way they would run in our applications (integration testing).
context rovides a way to share values like these between components without having to explicitly pass a prop through every level of the tree.
useContext() useContext hook is used to create common data that can be accessed throughout the component hierarchy without passing the props down manually to each level.
static context it used when you have one context
A static method or, block belongs to the class and these will be loaded into the memory along with the class. You can invoke static methods without creating an object. … But static contexts(methods and blocks) doesn’t have any instance they belong to the class.