I am new to Tridion cms and exploring it. I wanted to know is DXA necessary from building the front-end or we can use any other technology also like React etc and Still using Tridion for backend.
Nice article by Andriy on RWS Community showing how you can consume GraphQL responses in a simple ReactJS application.
As per Nuno's comment - DXA is an optional reference model. It has a lot of good stuff in there that you will want to consider/understand before you put fingers on keyboards (such as caching, token management etc.).
With 9.6, one big improvement in terms of interacting with the GraphQL end-point is that your content teams can still manage the content model (schemas) in the CM and these are then exposed dynamically through the public GraphQL API. Basically, when content is published the GraphQL Schemas are updated and the model is exposed directly - using the provided GraphQL IDE this means the fields are exposed directly to the developer making the link between the content fields and the developer needs explicit.
Of course, the biggest thing you need to consider is security and efficiency. You will still need some sort of 'back-end' to manage tokens, manage caching and presumably secure/hide your GraphQL end-point.