The react way of dealing with bubbling up information from a child to a parent is via callbacks.
(sample source: react.js custom events for communicating with parent nodes.)
However this can get very cumbersome after a while, e.g.
Child = (props) => <div onClick={props.callback}/>
Parent = (props) => <Child callback={props.callback}/>
GrandParent = (props) => <Parent callback={props.callback}/>
GreatGrandParent = (props) => <GreatGrandParent callback={props.callback}/>
In this example for the GreatGrandParent to get information from the Child, we have to bubble it through the Parent and GrandParent.
This happens more often than I would have thought because React strongly recommends small components.
Note: The actual event I want to fire is not just a simple click, I realize I could just listen to the click event on the grandparent in this example, but it's more complicated. Basically just want to bubble up some data from the child to the grandparent.