ReactNative: как передать компонент для отрисовки?

Стоит такая задача: передать компонент в компонент, что бы вывести его с нужными параметрами в цикле. Подробнее: есть массив данных

[{id: 1, value: 'Apple'}, {id: 2, value: 'Orange'}, {id: 3, 'Chery'}]

Есть неким компонент, который делает отрисовку полученного массива:

const CustomList = ({arr}) => {
    return (
        <View>
            {
                 arr.map(item => {
                     return (<View><Text>{item.value}</Text></View>)
                 })
            }
        </View>
    )

}

Структура массива будет одна и та же, а вот вид может меняться. Поэтому решил сделать, что бы вот эта часть

return (<View><Text>{item.value}</Text></View>)

передавалась как параметр. Только вот не хватает знаний, что бы понять, как это сделать, гугление не помогло.

Как мне правильно передать компонент и вызвать его с параметрами?

Дополнение: мне нужно, что бы я мог передать компонент в компонент, то есть сделать такой вызов

<CustomList arr=[] template=<View><Text>{item.value}</Text></View>>

А сам компонент переписать так

const CustomList = ({arr, template}) => {
    return (
        <View>
            {
                 arr.map(item => {
                     return template // вот как тут подставить данные?
                 })
            }
        </View>
    )

}

Ответы (1 шт):

Автор решения: Dmitry

Думаю, что правильней всего это создать отдельный компонент под вот эту директиву

<View><Text>{item.value}</Text></View>

то есть

const NeedsComponent = (props) => {
 // в действительности здесь можно все что угодно прописывать, и том числе 
 // и манипуляциии с props, state, функции
  return(
    <View><Text>{props.value}</Text></View>
  )
}

И далее формировать список элементов, основываясь на компонентах NeedsComponent

........
                 arr.map(item => {
                     return (<NeedsComponent value={item.value} />)
                 })
........
→ Ссылка