找不到react-redux上下文值;请确保组件包装在 Provider 中

mik*_*ias 10 reactjs react-native redux react-redux

我正在尝试react-native使用redux,但遇到了一些问题。

我总结了NavigationContainerProvider仍然得到:

错误:找不到react-redux上下文值;请确保该组件包裹在<Provider>

当我使用选择器选择状态值并控制台记录它时,就会发生这种情况。

在此输入图像描述

我的切片类看起来像这样:

在此输入图像描述

我的 Store 类看起来像这样:

在此输入图像描述

Aje*_*hah 9

下面的错误告诉您,您正在尝试读取react-redux上下文值(存储)而不首先提供上下文值。

错误:找不到react-redux上下文值;请确保该组件包裹在<Provider>


如果您需要访问App组件中的 redux 存储,则应该使用 包装该App组件<Provider />,以便它可以向App其他嵌套组件提供react-redux 上下文值。

因此,您可以使用Providerinindex.jsxindex.js

ReactDOM.render(
  <StrictMode>
    <Provider store={store}> {/* HERE */}
      <App /> {/* Now, App is wrapped in Provider and hence can read from store */}
    </Provider>
  </StrictMode>,
  document.getElementById('root')
)
Run Code Online (Sandbox Code Playgroud)

之后,您可以使用useSelector(或connect) 读取 redux 存储App或任何其他嵌套组件:

const countryCode = useSelector(selectCountryCode)
Run Code Online (Sandbox Code Playgroud)

  • 我使用 expo 创建了我的应用程序,但找不到 index.js,这就是我尝试包装应用程序组件的原因。我在哪里可以获得index.js (4认同)