Предупреждение: не удается выполнить обновление состояния React для неустановленного компонента React Native - PullRequest
1 голос
/ 16 января 2020

Я не знаю, почему я сталкиваюсь с этой проблемой. Если кто-нибудь знает, как с этим бороться, пожалуйста, помогите. Заранее спасибо

Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in %s.%s, the componentWillUnmount method,
    in ToastContainer (at connectStyle.js:392)
    in Styled(ToastContainer) (at Root.js:16)
    in RCTView (at View.js:45)
    in View (at Root.js:14)
    in Root (at connectStyle.js:392)
    in Styled(Root) (at LoginScreen.js:93)
    in LoginScreen (at SceneView.js:9)
    in SceneView (at StackViewLayout.tsx:889)
    in RCTView (at View.js:45)
    in View (at StackViewLayout.tsx:888)
    in RCTView (at View.js:45)
    in View (at StackViewLayout.tsx:887)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at StackViewCard.tsx:106)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at screens.native.js:71)
    in Screen (at StackViewCard.tsx:93)
    in Card (at createPointerEventsContainer.tsx:95)
    in Container (at StackViewLayout.tsx:975)
- node_modules\react-native\Libraries\YellowBox\YellowBox.js:59:8 in error
- node_modules\expo\build\environment\muteWarnings.fx.js:27:24 in error
- ... 12 more stack frames from framework internals

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Во-первых, вы должны обернуть свой компонент приложения <Root> следующим образом

<Root> <App/> </Root>

Если вы уже сделали это, то убедитесь, что вы не вызываете <Root> внутри другой <Root>. Ссылка на эту ссылку .

0 голосов
/ 16 января 2020

Ошибка означает, что вы пытаетесь обновить состояние компонента, который в данный момент не подключен.

Поскольку вы не передали ни одного кода, могу только предположить, что вы выполняете какую-то асинхронную задачу (например, внутренний вызов) и обновляете состояние компонента, но к тому времени, когда вызов разрешен, компонент уже демонтирован. Глядя на ошибку, я думаю, что вы пытаетесь изменить состояние компонента Toast после его закрытия.


Используйте componentWillUnmount, чтобы прервать все асинхронные задачи перед размонтированием.

...