_react.default.useContext 不是函数

Posted

技术标签:

【中文标题】_react.default.useContext 不是函数【英文标题】:_react.default.useContext is not a function 【发布时间】:2019-06-03 17:43:07 【问题描述】: 我正在使用材质 ui 步进器。 我从那里使用过,但它坏了 所以我在 VerticalLinearStepper 方法中调试并提供了控制台。 它在这一行打印一个方法 console.log("useStyles----->", useStyles); 但我遇到了一个错误 _react.default.useContext is not a function 你能告诉我如何解决它吗? 以便将来我自己修复它。 在下面提供代码 sn-p 和沙箱

https://codesandbox.io/s/v3o3zmxk90

function VerticalLinearStepper() 
  console.log("useStyles----->", useStyles);

  const classes = useStyles();

  const [activeStep, setActiveStep] = React.useState(0);
  const steps = getSteps();

  function handleNext() 
    setActiveStep(prevActiveStep => prevActiveStep + 1);
  

  function handleBack() 
    setActiveStep(prevActiveStep => prevActiveStep - 1);
  

  function handleReset() 
    setActiveStep(0);
  

【问题讨论】:

【参考方案1】:

@material-ui/styles 对 react >= 16.7.0-alpha.0 和 react-dom >= 16.7.0-alpha.0 有对等依赖 将你的 react 和 react-dom 依赖更新为:

"dependencies": 
    "react": "^16.7.0-alpha.2",
    "react-dom": "^16.7.0-alpha.2",
,

【讨论】:

"material-ui is deprecated use @material-ui/core instead" 只是后来才发现@material-ui/core 的组件示例包括依赖于不稳定版本的@material-ui/styles的反应:(【参考方案2】:

据我所知,您使用的 React 版本尚不支持钩子 (useXXX)

它有时也让我感到困惑,但 latest 作为你的 package.json 中的一个版本实际上意味着“最新的稳定版本”。 要使用支持钩子的版本,您可以使用版本nextreact 以及react-dom :)

【讨论】:

以上是关于_react.default.useContext 不是函数的主要内容,如果未能解决你的问题,请参考以下文章

简易先进先出队列-自用

函数参数

多重背包

合租房合同模板

启动代码分析 02

ACM数论 求幂乘