How to assign the correct typing to React.cloneElement when giving properties to children?
The problem is that the definition for ReactChild is this: type ReactText = string | number; type ReactChild = ReactElement<any> | ReactText; If you’re sure that child is always a ReactElement then cast it: return React.cloneElement(child as React.ReactElement<any>, { width: this.props.width, height: this.props.height }); Otherwise use the isValidElement type guard: if (React.isValidElement(child)) { return React.cloneElement(child, … Read more