Function Components vs Functions that Return JSX
First, notice that renderChild is not a function component, it's just a function that returns JSX. This is important because it means the function cannot use hooks, and that React cannot perform some of it's re-render optimizations on it like it could a component.
You can spot the difference a few ways. A component has a capital first letter, and is used with JSX syntax: <MyComponent/> (or React.createElement calls). Functions that just return JSX are used as normal functions: myFunction(). The latter is what is happening here when you pass it to map.
Defining Components within Components
As far as defining components within components: it isn't just inefficient, its an anti-pattern and will lead to bugs with the component lifecycle if the component has any level of complexity to it.
All that said, unless you are observing a performance issue that you can link to this pattern, it's probably fine to leave it. The function is not complex, so unless its getting called a substantial amount of times, there's not really that much overhead involved with the function calls.
Takeaways
If you are defining a function like this within another component, it should always be a normal function that returns JSX, not a true component. This will save you from future problems.
If your function has a requirement for state or other component lifecycle functionality, it should be moved into its own file or at least outside of the current component.
Re-defining things each render is less efficient than not (obviously), but most times it's not enough to ever notice.