问题标签 [react-state-management]

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 投票
8 回答
96389 浏览

javascript - 如何在 React 中将状态传递回父级?

我有一个带有提交按钮的表单。该表单调用一个函数 onclick 将某物的状态从 false 设置为 true。然后我想将此状态传递回父级,以便如果它为真则呈现componentA,但如果为假则呈现componentB。

我会怎么做?我知道我需要使用状态或道具,但不知道该怎么做。这也与单向流反应原理相矛盾吗?

组件A代码:

控制其显示内容的父组件:

0 投票
6 回答
24640 浏览

reactjs - 使用带有 reactjs 和 redux 的 Material-ui 复选框

我想显示选定的复选框项目,我正在使用 material-ui checkbox

现在我只能显示带有复选框的项目,但我无法显示所选项目。

我知道这很容易,但我是 reactjs 和 redux 的新手,所以很难开始。

希望得到帮助。

谢谢你。

0 投票
1 回答
701 浏览

reactjs - 可以以编程方式使用 React 的新 Context API 吗?

我正在尝试拥有 1 个可以执行操作的大型全局状态,但我不希望所有这些操作都存在于同一个文件中。

我想将操作分解为自己的文件并使用changeState函数(如减速器)进行抽象,但我不确定如何执行此操作。

我这里有一个例子。如果您单击该按钮,它将显示应用程序的进度:https ://codesandbox.io/s/r49qyymjzn

它似乎永远打不中{ctx => { console.log('...') }

任何帮助将不胜感激,谢谢。

0 投票
1 回答
613 浏览

reactjs - 如何根据 REACTJS 中的进度填充圆形边框

如何根据所选选项完成圆的边框。这里有四个选项。1.Head 2.Body 3.Script 4.End Note

我旁边有一个圆圈。我想做的是,默认情况下,头部是活动的,所以圆形边框应该是红色,直到其总面积的 25%,然后在选择身体后它应该是 50%。依此类推,最后它应该是 100%。

这是我的代码,我尝试单击其更改文本颜色直到单击 4 次,但我想要上面的那种东西。作为 ReactJS 的初学者,我无法理解这个逻辑。

0 投票
2 回答
1716 浏览

react-native - React Native - this.state.data 与 this.data 有什么不同?

我很困惑有什么this.state.data不同this.data

假设我有这样的代码:

使用上面的代码,<Text>Visit</Text>this.data已经有一个数组时我无法渲染,但是this.state.data我的 App 可以渲染<Text>Visit</Text>

所以我想知道this.state.datawith的不同之处this.data

谁能解释我?

0 投票
1 回答
653 浏览

reactjs - 反应获取和设置状态

在从休息服务检索身份验证后,我正在尝试将登录页面重定向到成员页面:

这是我的登录组件:

但是当 fetch 函数返回并且我从 Authorization 标头获取数据时,我不能调用 this.setState() 因为它抛出:

关于如何解决这个问题的任何建议?谢谢!

0 投票
0 回答
20 浏览

reactjs - 设置状态没有在 Reactjs 中立即更新?

我创建了这段代码,点击一个按钮,它的 id 在数组“allInterest”中连接。

但是在这里我注意到,它的设置状态落后于一个状态。就像如果我第一次单击按钮然后在控制台中,它的数组是空白的,但是当我单击另一个按钮时,它会采用第一次单击的按钮 ID,同样如此进一步。

请指导我为什么会发生这种情况。谢谢期待

0 投票
1 回答
608 浏览

reactjs - 如何在reactjs中静音状态

我在 reactjs 状态管理中遇到问题。每次加载组件时,它都会从缓存中加载数据。我对此进行了研究,发现状态是不可变的。我想问一下如何使用不可变状态。目前,就像我在构造函数中使用了一个空数组,然后我在组件中调用了一个 api 并将该状态设置为响应,但直到除非 Indont 清除缓存,否则状态不会显示数据

指导我在这里犯错的地方或如何使状态不受影响

0 投票
2 回答
48 浏览

reactjs - 反应:自定义组件不代表正确的数据

我现在面临一个奇怪的问题。我有一个通过 rest api 来的任务列表。我创建了一个自定义卡片组件来显示它。

这是卡片组件:

当我从顶部或底部删除任务时,它会更新得很好,但是当我从中间删除时,底部的任务会消失,而要删除的任务仍然会保留/显示。当你刷新它时,当然一切都很好,但问题是,为什么会发生这种情况?我有一个 redux saga,它在删除操作后再次获取任务,我可以确认 props 也确实获得了正确的数据。

更新 1

所以,我试图从我的最后调试它。看起来 TaskCard 有点缓存道具。 在此处输入图像描述

{item.title}添加的图像中,正下方是渲染任务卡的位置,两者都有不同的标题,但{item.title}都是正确的。

更新 2

根据 jmathew,回答,我将 ListItem 和 TaskCard 的键更新为 item.id,因此删除有效,但更新仍然无效。同样,根据更新 1,它仍然显示错误的标题,但 {item.title} 是正确的。所以,这部分代码现在看起来像:

更新 3

新的任务卡组件:

在此处输入图像描述

正如您在上图中看到的,卡片旁边的标题是更新的标题,由编辑按钮触发,但同样的内容不会传递给 TaskCard 组件。在屏幕截图中,有一个控制台输出,其中“update”行表明更改没有触发 componentDidUpdate。

0 投票
2 回答
1667 浏览

javascript - 如何使用 Immutability Helper 更新多个状态 | 反应 JS

我是 Immutability Helper React 库的新手,我正在尝试同时更新多个状态值,但只有最后一个调用方法状态正在更新。

这是我尝试过的: