redux ,无效的钩子调用。钩子只能在函数组件体内调用
P粉627027031
P粉627027031 2023-09-06 00:35:35
[React讨论组]
<p>当我在 <code>root.render</code> 中设置并使用 <code>Provider</code> 时,它向我显示此错误:</p> <blockquote> <p>警告:无效的挂钩调用。钩子只能在内部调用 函数组件的主体。这可能发生在其中一个 原因如下:</p> <ol> <li>您的 React 和渲染器版本可能不匹配(例如 React DOM)</li> <li>您可能违反了 Hooks 规则</li> <li>您可能在同一应用中拥有多个 React 副本,并且未捕获 TypeError:无法读取 null 的属性(读取“useMemo”)</li> </ol> </blockquote> <p>它只是针对 <code>Provider</code> 组件,如果我不调用它,就不会出现此错误。</p> <pre class="brush:php;toolbar:false;">import React from 'react'; import ReactDOM from 'react-dom/client'; import App from './App'; import reportWebVitals from './reportWebVitals'; import { Provider } from 'react-redux'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( &lt;Provider&gt; &lt;App /&gt; &lt;/Provider&gt; ); reportWebVitals();</pre> <p>我卸载了 redux 和 npm 包,然后使用最新版本安装它们,但我遇到了同样的问题。有人说可能是因为两个包中有相同的名称,这会让计算机感到困惑,但我不这么认为。</p>
P粉627027031
P粉627027031

全部回复(1)
P粉210405394

您需要将store传递给Provider

import React from 'react';
import ReactDOM from 'react-dom/client';

import App from './App';
import reportWebVitals from './reportWebVitals';
import { Provider } from 'react-redux';
import store from "./path/to/store"

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <Provider store={store}>
    <App />
  </Provider>
);

reportWebVitals();
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号