Поскольку signInWithPhoneNumber является асинхронной функцией c и будет setState, вы увидите предупреждение о том, что компонент отключен до того, как будет доступен ответ
Для обработки такого сценария ios вы можете сохранить переменную в отслеживайте, смонтирован он или нет, и только тогда установите состояние, если смонтированная переменная истинна
Однако вам не нужно возвращать null, если компонент был размонтирован, так как это ничего не sh. Компонент удаляется из поля зрения и в любом случае ничего не будет отображать.
Также вам не нужно поддерживать это значение в состоянии, вместо этого используйте ref
const SMSVerifyEnterPinScreen = ({ route, navigation }) => {
const isMounted = useRef(true)
const { phoneNumber } = route.params
useEffect(() => {
if(navigation) {
signInWithPhoneNumber(phoneNumber)
}
return () => {isMounted.current = false;}
}, [])
async function signInWithPhoneNumber(phoneNumber) {
const confirmation = await auth().signInWithPhoneNumber('+1'+phoneNumber)
...
}
return (
...
)
}