How to create reusable and composable components in React | Hacker News Reader