- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在获取作为新 React Context API 一部分的 React contextType
属性时遇到问题。文件说:
The contextType property on a class can be assigned a Context object created by React.createContext(). This lets you consume the nearest current value of that Context type using this.context. You can reference this in any of the lifecycle methods including the render function.
除非我遗漏了什么,否则下面的代码应该使 this.context
在 App
类上可用:
import React from "react";
import ReactDOM from "react-dom";
const MyContext = React.createContext({
on: false
});
import "./styles.css";
class App extends React.Component {
render() {
console.log("context: ", this.context);
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
</div>
);
}
}
App.contextType = MyContext;
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
(示例 here)
但是,当这段代码运行时,日志语句只打印一个空对象。我希望它打印出我提供给 React.createContext
函数的默认状态。
谁能帮我理解这是怎么回事?
最佳答案
我想你需要React >=16.6.0
对于这个功能。我在你的 codesandbox 中更新了 react ,它对我有用:https://codesandbox.io/s/w66k2k8o5l
关于javascript - 无法使 `contextType` 属性用于 React Context API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53395075/
我正在使用 React 上下文新 API,如下代码所示。最后一行将把上下文注册到我的组件中。我想知道如何将 contextType 用于无状态组件? class MyClass extends Rea
我有一个文件 App.js,默认从中导出一个 React 组件。除此之外,同一个文件导出一个 React 上下文。 在子组件中使用上下文时(使用 static contextType = Contex
我想使用 Context API 制作一个简单的 React Web 应用程序。我想在父组件中初始化上下文对象,并希望在子组件中使用它using "class.contextType"。 我已阅读 l
我很难理解以下 #define 到底做了什么。 #define REGISTER_CONTEXT( ContextType ) static const FContextRegistrar Conte
我正在使用应该支持 react Context 的 react-dom@16.6.1 和 react@16.6.1 并尝试运行一个与 react-context 相同的简单示例: 应用程序.js im
我正在尝试使用 redux 应用程序在我的 React 中进行单元测试。所以我需要测试连接的组件,不幸的是我收到了这个错误: Cannot read property 'contextTypes' o
我正在尝试了解 React 上下文 API,并且正在阅读官方文档。如果有人能对以下几点提出更多说明,我将不胜感激,因为官方文档没有明确说明。 contextType 和 Consumer 方法有什么区
我正在尝试使用 Jest 测试 React 应用程序。我使用 Enzyme 的浅层在 App-test-js 中渲染我的 App.js 组件,但收到此错误:TypeError: Cannot read
我正在尝试理解一些代码。您能否向我解释一下执行此 static contextTypes = {} 的目的是什么?为什么我们这样定义它?有什么好处? static contextTypes = {
我的应用程序使用 React Context Provider 来传递用户配置文件。在我的应用程序组件中,我的状态定义为: interface IState { authUser: any;
我正在学习 React,在阅读了上下文之后,我一直想知道这一点。为什么子组件需要 ParentComponent.childContextTypes 和 ChildComponent.contextT
我在获取作为新 React Context API 一部分的 React contextType 属性时遇到问题。文件说: The contextType property on a class ca
我正在尝试在我的 MVC 应用程序中使用 AD LDS 进行用户身份验证。我已经设法编写了一些允许我创建/编辑/删除用户和组的代码,但我似乎无法对它们进行身份验证。这是我的示例代码: using( v
我正在学习新引入的 React.Context API,但我注意到它在示例中的消耗存在一些不一致。有些使用原始的 Context.Consumer HOC 方法,而有些(包括 React 文档)使用静
我有一个在 html 页面上呈现多个根的应用程序。每个根在网站上呈现不同(或可能相同)的页面或组件。该应用程序包含一个 redux 商店,因为每个根共享同一个应用程序。为避免冲突,为每个根生成一个 r
我正在使用 enzyme 和 Jest 测试用 JSCC 装饰的组件,但收到以下错误: TypeError: Cannot read property 'contextTypes' of undefi
我正在寻找一种无需使用 FormattedMessage 即可获取翻译文本的方法。到目前为止,我只找到了这个提供使用 ContextTypes 的解决方案一个React's EXPERIMENTAL
如何在 TypeScript 中定义 contextTypes? 我有一个组件(注意:我不确定 this question 中详述的必要路由器类型,但此处应该无关紧要) export class Re
我已将本地 create-react-app 更新到 16.6.3(react 和 react-dom)。我正在尝试获取 contextType 的示例来工作。我希望能够在哪里从 componentD
我构建了一个将使用 ClickOnce 部署的应用程序,在启动时,需要检查当前登录用户的身份/名称,并将其与我们域中的 Active Directory 组进行比较,以便设置适当的应用程序中的权限。
我是一名优秀的程序员,十分优秀!