Ваша проблема довольно проста, вам просто не нужно звонить handleAddPicture
самостоятельно. Когда кнопка нажата, будет вызван код, связанный с onPress, так что вам просто нужно удалить из него скобки, и он будет работать.
useLayoutEffect(() => {
navigation.setOptions({
headerRight: () => (
<Button onPress={handleAddPicture} title="Image Picker" /> //handleAddPicture is defined in the same component
),
});
}, []);
useEffect(() => {
//retrieve data from backend server
}, [])|
Обратите внимание, что вы также можете использовать его следующим образом, если Вы хотите вызвать функцию самостоятельно или выполнить другие действия, кроме одного вызова этой функции.
<Button onPress={()=>handleAddPicture()} title="Image Picker" /> //handleAddPicture is defined in the same component