Ни один из ответов не касается вопроса о том, что у детей есть НЕ РЕАКТИВНЫЕ компоненты, такие как текстовые строки. Обходной путь может быть примерно таким:
// Render method of Parent component
render(){
let props = {
setAlert : () => {alert("It works")}
};
let childrenWithProps = React.Children.map( this.props.children, function(child) {
if (React.isValidElement(child)){
return React.cloneElement(child, props);
}
return child;
});
return <div>{childrenWithProps}</div>
}