React native 创建反应本机应用程序显示新警告

React native 创建反应本机应用程序显示新警告,react-native,create-react-native-app,React Native,Create React Native App,使用create react native app创建新应用程序现在正在生成新警告。我需要做些什么来纠正警告吗?例如,如何更新列出的组件: ExpoRootComponent, RootErrorBoundary, Text, View 以下是新的警告:(所有这些都可以忽略吗?CreateReact本机应用程序是否会更新为使用0.55.x?) 我已经有一段时间没有使用react native了,但我每天都使用react 您可能正在经历与新的上下文API有关的事情。您应该阅读以下内容: 基本上

使用create react native app创建新应用程序现在正在生成新警告。我需要做些什么来纠正警告吗?例如,如何更新列出的组件:

 ExpoRootComponent, RootErrorBoundary, Text, View
以下是新的警告:(所有这些都可以忽略吗?CreateReact本机应用程序是否会更新为使用0.55.x?)


我已经有一段时间没有使用react native了,但我每天都使用react

您可能正在经历与新的上下文API有关的事情。您应该阅读以下内容:

基本上,
componentWillMount
将被弃用,可能在明年左右,然后它将消失。相反,您应该能够将所有
componentWillMount
生命周期方法更改为
componentDidMount

明确地说,这是:

componentWillMount() {
  performTask()
}
变成:

componentDidMount() {
  performTask()
}
区别主要在于调用生命周期方法的时间。值得注意的是,它们都只是函数,没有什么神奇之处

componentWillMount()
在组件即将开始装载时运行,而长期存在的风险是,如果您在其中执行网络请求之类的操作(这是一种反模式),您可能会在组件装载之前返回网络响应,因此它将无法执行以下操作:,使用数据正确设置组件的状态

componentDidMount()
在装入组件并在DOM中运行

我想,这种反对至少在某种程度上与帮助人们在安装组件时避免状态问题有关。其余的弃用可能是由于新的上下文API

你可以在这里阅读:

为您提供有关这些更改的“上下文”的最快方法是,它旨在改进诸如Redux Provider之类的数据传递,如果您还记得这一点的话:

<Provider store={store}>
  <App />
</Provider>

再次注意,反应16.3+


同时,你可以降低16.2的反应并恢复你认为是正常的,但是我在推测。

警告可以被安全地忽略,但是弃用的生命周期方法将不再存在于17。X. 如果你想更新,这真的很有帮助。这就是我上周用来更新代码库的东西。这两个问题的答案都提供了如何根据您在生命周期钩子中所做的事情来更新代码

注:
许多npm库也使用不推荐使用的生命周期警告,其中许多库尚未更新最新的API更改。因此,即使您从代码中删除了所有不推荐的方法,您仍有可能在控制台中看到警告

谢谢所有这些信息。我还不知道该怎么办。可以安全地忽略这些警告吗?您将如何更新组件?
<Provider store={store}>
  <App />
</Provider>