首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果应用程序被包装在提供者中,为什么我会得到一个错误?

如果应用程序被包装在提供者中,为什么我会得到一个错误?
EN

Stack Overflow用户
提问于 2022-09-20 14:37:46
回答 1查看 23关注 0票数 -1

如果应用程序被包装在提供者中,为什么我会得到一个错误?您还需要添加或更改其他内容吗?

错误:“未能找到react redux上下文值;请确保组件包装在@Provider@中。”

代码语言:javascript
复制
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import { BrowserRouter } from 'react-router-dom';
import { Provider } from 'react-redux';
import { store } from './redux/redux-store';

const root = ReactDOM.createRoot(
  document.getElementById('root') as HTMLElement
);

root.render(
  <React.StrictMode>
    <BrowserRouter>
      <Provider store={store}>
        <App />
      </Provider>
    </BrowserRouter>
  </React.StrictMode>
);
代码语言:javascript
复制
import { render, screen } from '@testing-library/react';
import App from './App';

test('App renders', () => {
  render(<App />);
});

index.ts文件

代码语言:javascript
复制
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import { BrowserRouter } from 'react-router-dom';
import { Provider } from 'react-redux';
import { store } from './redux/redux-store';

const root = ReactDOM.createRoot(
  document.getElementById('root') as HTMLElement
);

root.render(
  <React.StrictMode>
    <BrowserRouter>
      <Provider store={store}>
        <App />
      </Provider>
    </BrowserRouter>
  </React.StrictMode>
);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-20 14:43:27

您可以在根呈现中将App包装在提供程序中。但在测试中情况并非如此。

代码语言:javascript
复制
test('App renders', () => {
  render(<Provider store={store}><App /></Provider>);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73788512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档