React Context 不工作:未定义 no-undef

Posted

技术标签:

【中文标题】React Context 不工作:未定义 no-undef【英文标题】:React Context not working: is not defined no-undef 【发布时间】:2020-12-12 16:45:06 【问题描述】:

为什么我的 Context 在 React 中不起作用?在下面收到一个未定义的错误。

import React,  useContext   from 'react';

function BookList() 
  const PrintContext = React.createContext("CAR");

  const list = [
     title: 'ABCDE', author: 'John Smith' 
  ]

  return (
    <PrintContext.Provider value="APPLE">
    <ul>
      list.map((book, i) => <Book title=book.title author=book.author key=i />)
    </ul>
    </PrintContext.Provider>
  )


function Book(props) 
  const theme = useContext(PrintContext)
  return (
    <li>
      <h2>theme</h2>
      <h2>props.title</h2>
      <div>props.author</div>
      <input value=props.year />
    </li>
  )

接收错误:

'PrintContext' 未定义 no-undef

使用最新版本的 React

资源:

React context - 'contextType' is not defined

【问题讨论】:

嗨@PrãtéékThápá 它有效,请随时回答,我可以发送积分,谢谢! 普通的 javascript 购物仍然适用。 【参考方案1】:

将您的 PrintContext 置于Booklist 函数的范围之外。

import React,  useContext   from 'react';

const PrintContext = React.createContext("CAR");

function BookList() 

  const list = [
     title: 'ABCDE', author: 'John Smith' 
  ]

  return (
    <PrintContext.Provider value="APPLE">
    <ul>
      list.map((book, i) => <Book title=book.title author=book.author key=i />)
    </ul>
    </PrintContext.Provider>
  )


function Book(props) 
  const theme = useContext(PrintContext)
  return (
    <li>
      <h2>theme</h2>
      <h2>props.title</h2>
      <div>props.author</div>
      <input value=props.year />
    </li>
  )

【讨论】:

以上是关于React Context 不工作:未定义 no-undef的主要内容,如果未能解决你的问题,请参考以下文章

从 React Context 消费返回无法读取未定义的属性“地图”

每次刷新页面时 React Context 数据都未定义

React Context API:消费者组件中未定义值

使用 Context API 在函数组件中反应未定义的状态属性

在 react.js 中使用 three.js 创建 WebXR 应用程序时,我不断看到“XRWebGLLayer”未定义 no-undef

React.useContext 显示为未定义