Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应:无效的钩子调用_Javascript_Reactjs_React Native_React Redux_Frontend - Fatal编程技术网

Javascript 反应:无效的钩子调用

Javascript 反应:无效的钩子调用,javascript,reactjs,react-native,react-redux,frontend,Javascript,Reactjs,React Native,React Redux,Frontend,我的React应用程序工作正常,直到我尝试使用React cart组件并添加这一行 错误:无效的钩子调用。钩子只能在身体内部调用 一个功能组件的名称。以下情况之一可能会发生这种情况: 原因: React和渲染器的版本可能不匹配(例如React DOM) 你可能违反了钩子的规则 同一应用程序中可能有多个React副本 有趣的是,这个应用程序在我朋友的计算机上运行良好,可以成功地部署在heroku上,但在我的计算机上不起作用。我已经检查了我的react dom和react native版本,它们是最

我的React应用程序工作正常,直到我尝试使用React cart组件并添加这一行

错误:无效的钩子调用。钩子只能在身体内部调用 一个功能组件的名称。以下情况之一可能会发生这种情况: 原因:

  • React和渲染器的版本可能不匹配(例如React DOM)
  • 你可能违反了钩子的规则
  • 同一应用程序中可能有多个React副本
  • 有趣的是,这个应用程序在我朋友的计算机上运行良好,可以成功地部署在heroku上,但在我的计算机上不起作用。我已经检查了我的react dom和react native版本,它们是最新的,我的应用程序中只有一个react副本,一切正常。有什么想法吗

    import React, { useState, useEffect } from 'react';
    import ToolBox from 'components/ToolBox';
    import Product from 'components/Product';
    import axios from 'axios';
    import 'css/products.scss';
    import { Cart, AddCartButton } from 'react-cart-components'
    
    .........
    
    const Products = () => {
    
    .........
    
    return (
        <div>
            <ToolBox  search={search} />
            <Cart currency="CAD" />
            <div className="products">
                <div className="columns is-multiline ">
                    {
                        currentPage.map(pdct => {
                            return (
                                <div className="column is-2" key={pdct.productId}>
                                    <Product product={pdct} />
    
                                </div>
                            )
                        })
                    }
                </div>
    
            </div>
        </div>        
    )
    
    下面是我的

      "dependencies": {
        "bcryptjs": "^2.4.3",
        "body-parser": "^1.19.0",
        "concurrently": "^5.2.0",
        "cors": "^2.8.5",
        "dotenv": "^8.2.0",
        "express": "^4.17.1",
        "is-empty": "^1.2.0",
        "jsonwebtoken": "^8.5.1",
        "mongoose": "^5.9.21",
        "node-sass": "^4.14.1",
        "passport": "^0.4.1",
        "passport-jwt": "^4.0.0",
        "react": "^16.13.1",
        "react-cart-components": "^2.1.0",
        "react-dom": "^16.13.1",
        "react-native": "^0.63.1",
        "react-redux": "^7.2.0",
        "react-scripts": "^3.4.1",
        "redux": "^4.0.5",
        "twilio": "^3.47.0",
        "uninstall": "0.0.0",
        "validator": "^13.1.1"
      }
    

    您是否尝试过删除节点模块并重新安装依赖项?是的,我尝试过,您和您的朋友使用相同的package-lock.json以及相同的package.json。您的项目可能具有不同版本的react依赖项,这可能会导致问题。请确保您的package-lock.json文件也相同。请向我们展示您的依赖项,好吗?我在代码中没有看到任何钩子调用。
      "dependencies": {
        "bcryptjs": "^2.4.3",
        "body-parser": "^1.19.0",
        "concurrently": "^5.2.0",
        "cors": "^2.8.5",
        "dotenv": "^8.2.0",
        "express": "^4.17.1",
        "is-empty": "^1.2.0",
        "jsonwebtoken": "^8.5.1",
        "mongoose": "^5.9.21",
        "node-sass": "^4.14.1",
        "passport": "^0.4.1",
        "passport-jwt": "^4.0.0",
        "react": "^16.13.1",
        "react-cart-components": "^2.1.0",
        "react-dom": "^16.13.1",
        "react-native": "^0.63.1",
        "react-redux": "^7.2.0",
        "react-scripts": "^3.4.1",
        "redux": "^4.0.5",
        "twilio": "^3.47.0",
        "uninstall": "0.0.0",
        "validator": "^13.1.1"
      }