Задать вопрос
@Pupochkin123

React-native ошибка при попытке изменить состояние из дочернего компонента?

Здравствуйте, подскажите пожалуйста почему возникает ошибка `Can't perform a React state update on an unmounted component.` при попытке изменить состояние через дочерний компонент в react-native?

Меняю состояние родительского компонента из дочернего вот так:

Родитель (App.js):

export default function App() {
	const [user, setUser] = React.useState(null);

	return (
		<View style={Styles.container}>
		    <Login setUser={setUser} />
		</View>
	);
}


Потомок (Child.js):

export const Login = ({ setUser }) => {
    return (
        <Pressable onPress={() => setUser(null)}>
            <Text>Exit</Text>
        </Pressable>
    )
}


Примечательно что код отрабатывает без проблем, и состояния меняются, но этот warning вылезает
  • Вопрос задан
  • 22 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
black1277
@black1277
Вольный стрелок
Не нужно передавать функцию изменения стейта по ссылке в другой компонент. Вместо этого сделайте внутри App функцию handler, внутри которой меняйте стейт, а в пропсы другого компонента передавайте эту самую ф-ю handler.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы