问题标签 [react-context]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
516 浏览

javascript - 如何从事件处理程序内部设置上下文(使用新的 ReactJs 上下文 API)?

我有一个 ReactJS 选择,用户在其中选择与应用程序版本相关的选项。我想为选择的选项 id 设置一个应用程序上下文变量。

AppContext.js:

VersionChooser.js(组件):

我需要帮助currentVersion在我的handleSelectChange处理程序中设置上下文变量(修复上下文有 2 个变量,我只想设置其中一个)。

0 投票
1 回答
3295 浏览

reactjs - 如何将 React.createContext() 与反应路由器一起使用?

我正在尝试将 React.createContext() 与反应路由器一起使用,但目前是不可能的。

我总是收到这个错误

未捕获的错误:元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但得到:对象。

有人能帮我吗?

0 投票
1 回答
1072 浏览

reactjs - 是否可以更改 Context.Consumer 的显示名称?

我怎样才能找到嵌套上下文的方法并避免这个地狱?

在此处输入图像描述

0 投票
0 回答
1092 浏览

reactjs - React Context Api:我可以在一个提供者中拥有多个消费者吗?

如果我有以下嵌套组件:

我会在两个消费者之间拥有相同的上下文值吗?

0 投票
1 回答
1360 浏览

reactjs - React Context API 中的“If”语句

如何在 Context.Consumer 中使用“if”语句?我需要检查context.state.showLoginBox是否为真,然后显示下面的 div。

0 投票
2 回答
1981 浏览

reactjs - 如何通过上下文将状态传递给 React 中的路由?

使用 Context API 设置 React 应用程序的最佳方法是什么,这将允许我为应用程序的每个路由提供一些全局状态和方法?

示例:我想在应用程序的顶层处理 REST 和 Auth,所以我希望我的组件在顶层调用请求方法并将响应数据过滤器返回到组件级别。

而且……这种架构在 React 范式中是否有效?(我是 React 新手)

0 投票
1 回答
1617 浏览

reactjs - React Context消费者找不到道具

我正在尝试使用 React Context API 来传递道具,但是出现“未定义”错误。react的版本是16.3.2,react-dom的版本是16.3.2。以下是我的代码:

提供者.jsx:

应用程序.jsx:

我在这里找不到任何问题,但是控制台报告此错误:TypeError: Cannot read property 'rootPath' of undefined,并且错误发生在这里:({rootPath}) => <span>{rootPath}</span>

0 投票
1 回答
2357 浏览

javascript - React.js 上下文 API:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件)

考虑以下场景:

元素类型无效:应为字符串(用于内置组件)或类/函数(用于复合组件)但得到:未定义。您可能忘记从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。

0 投票
0 回答
450 浏览

reactjs - 如何访问新反应上下文 API 的“上下文”

context我正在尝试迁移到新版本的 React(16.3.2),但在访问新上下文 API时遇到了问题。

我有一个提供者组件

Provide.js

Consumer组件中,我可以访问render方法中的上下文。

但是如何在组件方法或constructor旧 API 中的类似方法中访问 c​​onext this.context

0 投票
5 回答
123806 浏览

javascript - 如何从消费者更新提供者中的上下文值?

MyContext.js

我在一个单独的js文件中创建了我的上下文,我可以在其中访问我的父组件以及我的子组件

父.js

所以我用提供者上下文创建了父组件并在提供者选项卡中调用子组件

Child.js

所以在孩子中通过使用Consumer,我可以在孩子渲染部分显示数据。

当我想从消费者那里更新状态时,我遇到了一个问题。

如何更新提供者状态或操纵提供者状态?