Maison  >  Questions et réponses  >  le corps du texte

redux, appel de hook invalide. Les hooks ne peuvent être appelés que dans le corps du composant de fonction

<p>Lorsque je configure et utilise le <code>Provider</code> dans <code>root.render</code>, il m'affiche cette erreur : </p> <blockquote> <p>Avertissement : appel de crochet invalide. Les hooks ne peuvent être appelés qu’en interne Le corps du composant fonctionnel. Cela peut se produire dans l'un des Voici pourquoi : </p> <ol> <li>Vos versions de React et de votre moteur de rendu peuvent ne pas correspondre (par exemple, React DOM)</li> <li>Vous enfreignez peut-être les règles Hooks</li> <li>Vous pouvez avoir plusieurs copies de React dans la même application et TypeError n'est pas détecté : impossible de lire la propriété de null (lire 'useMemo') </li> </ol> </blockquote> <p>C'est juste pour le composant <code>Provider</code>, si je ne l'appelle pas, je n'obtiens pas cette erreur. </p> <pre class="brush:php;toolbar:false;">importer React depuis 'react'; importer ReactDOM depuis 'react-dom/client' ; importer l'application depuis './App' ; importer reportWebVitals depuis './reportWebVitals' ; importer { Fournisseur } depuis 'react-redux' ; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( <Fournisseur> <Application /> </Fournisseur> ); reportWebVitals();</pre> <p>J'ai désinstallé les packages redux et npm et les ai installés en utilisant la dernière version, mais j'ai le même problème. Certains disent que cela pourrait être dû au fait qu'il y a les mêmes noms dans les deux packages, ce qui perturbe l'ordinateur, mais je ne pense pas. </p>
P粉627027031P粉627027031429 Il y a quelques jours503

répondre à tous(1)je répondrai

  • P粉210405394

    P粉2104053942023-09-06 15:43:32

    Vous devez 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();

    répondre
    0
  • Annulerrépondre