# Introducing react-amplitude

At Amplitude, we log app analytics with custom Redux middleware. It&#x27;s a great system with one big drawback: prop plumbing. Here&#x27;s what happened when I decided to tackle the issue.

Source: https://amplitude.com/en-us/blog/introducing-react-amplitude

---

[Ryan Ashcraft](/blog/author/ryan-ashcraft)

[Former Senior Software Engineer, Amplitude](/blog/author/ryan-ashcraft)

[](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Famplitude.com%2Fblog%2F%2Fblog%2Fintroducing-react-amplitude)[](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Famplitude.com%2Fblog%2F%2Fblog%2Fintroducing-react-amplitude)[](https://twitter.com/intent/tweet?url=https%3A%2F%2Famplitude.com%2Fblog%2F%2Fblog%2Fintroducing-react-amplitude\&text=Introducing%20react-amplitude)[](mailto:?subject=Checkout%20this%20Amplitude%20Article\&body=Check%20this%20out%3A%20https%3A%2F%2Famplitude.com%2Fblog%2F%2Fblog%2Fintroducing-react-amplitude)

[React](https://amplitude.com/track/react) is the engine of Amplitude’s web app. We log app analytics using custom Redux middleware that translates Redux events to Amplitude logEvent calls. While this setup brings a host of benefits, there are some disadvantages. The main drawback is “prop plumbing” — the process of moving props through multiple layers.

I wanted to dig deeper into the chronic prop plumbing issue. So, for a hackathon held earlier this year, I decided to tackle the issue by building a declarative, React component-based Amplitude API.

It turned out that with my API, I could address more than just the plumbing event properties issue. One of the most exciting use cases I came across was react-amplitude’s ability to instrument a large surface area of their apps with minimal effort. Basically, this means that with only a few lines of code, you can generate insightful user behavior data across large areas of your app.

[Read more about how I built my API, and find out what’s in store for react-amplitude.](https://amplitude.engineering/introducing-react-amplitude-d7b5258bc708)

About the author

Ryan Ashcraft

Former Senior Software Engineer, Amplitude

[More from ](/blog/author/ryan-ashcraft)

<!-- -->

[Ryan](/blog/author/ryan-ashcraft)

Ryan was formerly on the Product Engineering team at Amplitude. He is passionate about building delightful user experiences and designing robust applications. Prior to Amplitude, Ryan worked as a frontend engineer at Yahoo, built some iOS apps, and studied at Georgia Tech.

Topics
