Функции-стрелки «всегда» выполняются и создают новую ссылку в памяти. Таким образом, они всегда будут повторно выполнять рендеринг, если компонент будет выполнен.
По соображениям производительности вам лучше определить свою функцию снаружи и назвать ее так:
function renderMyItem(){ ...bimbom... yous stuff goes here! }
function renderHeader(){ ...bimbom... yous stuff goes here! }
<Flatlist
renderItem={this.renderMyItem()}
ListHeaderComponent={this.renderHeader()}
...
/>
Что здесь происходит? Обе функции renderMyItem и renderHeader будут выполнены один раз, если ваш Компонент загружен и будет сохранен в памяти. Поэтому каждый раз, когда вы вызываете одну из функций, вы вызываете ссылку на место в памяти, где они сохраняются.
В другом случае функции-стрелки ()=>{...}
выполняются в текущем контексте и генерируют новую ссылку в памяти, каждый раз, когда они вызывали, потому что ... сказать ясно: вы определяете & , вызываете функцию таким образом.