在 React 18 中,SSRProvider 不是必需的,并且是一个 noop。您可以将其从您的应用程序中删除,如何解决此警告?

问题描述 投票:0回答:2

大家好,我在本机反应中遇到此错误 在 React 18 中,SSRProvider 不是必需的,并且是一个 noop。您可以将其从您的应用程序中删除 我已经尝试过这个 @react-aria/ssr 并使用代替,但没有解决警告。任何建议都会有帮助。

我使用react 18.2.0,native base ^3.4.28,react native 0.71.8。

下面是我在 App.js 中的代码

<Provider store={store}>
    <NativeBaseProvider theme={theme}>
      <SafeAreaView style={{flex: 1, backgroundColor: '#292929'}}>
        <StatusBar
          translucent
          backgroundColor="#292929"
          barStyle="light-content"
        />
        <AppNavigation />
      </SafeAreaView>
    </NativeBaseProvider>
  </Provider>

我已经尝试过这个@react-aria/ssr并使用而不是,但没有解决警告。任何建议都会有帮助。

reactjs react-native native-base
2个回答
4
投票
  1. 导航到node_modules/native-base/src/core/NativeBaseProvider.tsx
  2. 删除包含 {children} 的内容。注意不要删除{children}。
  3. 删除 SSRProvider 导入。即删除这一行 import { SSRProvider } from '@react-native-aria/utils';
  4. 运行 npx patch-package native-base。在提示中选择是。

当Native Base官方修复后,您可以从创建的patch目录中删除该补丁并重新安装native-base

https://github.com/GeekyAnts/NativeBase/issues/5758


0
投票

对我来说,我添加了这个: 使用效果(()=> { LogBox.ignoreLogs(['在 React 18 中,SSRProvider 不是必需的,并且是一个 noop。您可以从应用程序中将其删除。']); }, []); 不要忘记从'react-native'导入{LogBox};

© www.soinside.com 2019 - 2024. All rights reserved.