How do you handle state management in a large-scale React application, and what are the performance trade-offs of your chosen approach?