redux , panggilan cangkuk tidak sah. Cangkuk hanya boleh dipanggil dalam badan komponen fungsi
P粉627027031
2023-09-06 00:35:35
<p>Apabila saya menyediakan dan menggunakan <kod>Pembekal</code> dalam <code>root.render</code>, ia menunjukkan kepada saya ralat ini: </p>
<blockquote>
<p>Amaran: Panggilan cangkuk tidak sah. Cangkuk hanya boleh dipanggil secara dalaman
Badan komponen fungsi. Ini mungkin berlaku dalam salah satu daripada
Inilah sebabnya: </p>
<ol>
<li>Versi React dan pemapar anda mungkin tidak sepadan (cth. React DOM)</li>
<li>Anda mungkin melanggar peraturan Hooks</li>
<li>Anda mungkin mempunyai berbilang salinan React dalam apl yang sama dan TypeError tidak ditangkap: Tidak dapat membaca sifat null (baca 'useMemo') </li>
</ol>
</blockquote>
<p>Ia hanya untuk komponen <kod>Pembekal</kod>, jika saya tidak memanggilnya, saya tidak mendapat ralat ini. </p>
<pre class="brush:php;toolbar:false;">import React daripada 'react';
import ReactDOM daripada 'react-dom/client';
import Apl daripada './App';
import reportWebVitals daripada './reportWebVitals';
import { Provider } daripada 'react-redux';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<Pembekal>
<Apl />
</Pembekal>
);
reportWebVitals();</pre>
<p>Saya menyahpasang pakej redux dan npm dan memasangnya menggunakan versi terkini, tetapi saya menghadapi masalah yang sama. Ada yang mengatakan mungkin kerana terdapat nama yang sama dalam kedua-dua pakej, yang mengelirukan komputer, tetapi saya tidak fikir begitu. </p>
Anda perlu
store
传递给Provider