问题标签 [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 投票
1 回答
91 浏览

reactjs - 有没有更好的方法来更新 tx 哈希?

以下是我的代码片段(正在运行)

更多在这里:https ://github.com/DKSukhani/lottery-react/blob/master/src/App.js

想知道是否有更好的方法让我获取txhash然后显示它。我希望我可以将txhash其作为状态组件之一,而不是将其声明为空变量。此外,我使用回调函数仅将其重新分配给txhash.

0 投票
1 回答
383 浏览

javascript - 当业务逻辑在组件之外时,React 组件中的状态管理

那里!App 组件是三个不同组件的容器:

  • Map呈现带有视觉标记的地图,表示用户提供的地址。

  • List组件包含所有添加的地址作为列表项。

  • Input允许用户添加一个新地址(在我的术语中称为LocationPoint)。

现在,所有这些地址( LocationPointsApp )保持locations数组处于状态,并将该数组传递给所有子组件。

对 LocationPoints 的操作(添加/移动/更新/删除位置点)被提取到单独的函数中,因为它们非常通用,以后可能会在其他地方重用。

但是因为这些函数不知道状态的存在,所以我必须创建某种“提供者”函数来调用这些操作(addLocationPoint、deleteLocationPoint 等)。例如addLocationPointfunc 必须在里面调用App.addLocationPoint

下面的例子应该更好地解释我在说什么。注意:片段不起作用,因为它不是真正的实现。

我的方法可以被认为是一种好的做法吗?或者还有其他方法可以减少 App 组件中的逻辑数量并避免在不使用状态管理库(MobX、Redux 等)的情况下创建那些“提供者”。也许我认为是引入 Redux 或 MobX 的合适时机?

我将非常感谢您提供有关此问题的建议或建议或链接。

0 投票
4 回答
7392 浏览

reactjs - React:在父组件中获取子组件组件的状态

我有这个容器,并且没有放置在同一级别。当我单击按钮(放置在父级上)时,如何获取表单的状态?

我创建了一个演示来解决我的问题。

https://codesandbox.io/s/kmqw47p8x7

  • 我不想做的一件事是同步 onChange 事件的状态,因为在 Form 中可能有另一个 Form。
0 投票
1 回答
290 浏览

reactjs - 如何避免反应中变量的内存共享?

我正在通过 API 获取一些行并像这样分配状态变量

现在我在过滤器方法中使用这些状态变量,我根据过滤器更改行数。

问题是,这也改变了值this.state.originalRows 如何避免改变那个状态值?

0 投票
1 回答
64 浏览

javascript - 尝试将道具值传递给状态,刷新后在构造函数中不起作用

我正在将一个布尔道具传递给我的组件,稍后将用于渲染某些东西。我将它的值设置为一个状态,以便我可以更改它并重新渲染组件。

这是我的组件的样子:

这句话很好,除非我刷新页面。基本上,当我刷新页面时,在构造函数中,props.isFavourited即使我传递的是true.

在刷新期间安装组件时是否存在断开连接?

有谁知道如何解决这个问题?

编辑:将添加更多关于组件外部发生的事情的上下文:

isFavouritedprop 来自一个数组,我在其中检查一个元素是否属于它。这就是我的组件调用的样子:

现在这是另一个有趣的部分,当我刷新页面时,我得到以下日志:

是最喜欢的吗?真的

在构造函数中是最喜欢的 false

在渲染中是最喜欢的 false

几乎感觉它在刷新期间没有正确传递

0 投票
1 回答
155 浏览

reactjs - React Native 忽略了状态变化

请解释为什么这不起作用。我正在尝试在 React 中按下按钮时用另一个元素替换一个元素,并且根据所有文档,我正在做的事情应该有效。然而,React 完全忽略了状态变化并且拒绝重新渲染一个元素。这是我的文件:

顶部的登录按钮应该会改变状态并导致登录表单出现并且注册表单消失,而注册按钮应该做相反的事情。如果我console.log改变后的状态,它已经改变了,但没有其他任何事情发生。到底是怎么回事?所有文档都表明您可以做到这一点,但它对我不起作用。我正在通过 Expo 在 Android 手机上运行该应用程序。

0 投票
0 回答
22 浏览

reactjs - 传递数据

我的任务是使用 iTunes API 创建一个 SPA。

我完成了基本功能,但还不是 SPA,我想实现 react-router 来处理导航。但是,我的组件现在需要一个额外的父级。而且我不太明白如何传递以前的工作数据。

我不想注入大量代码,所以我宁愿给你一个 Github 链接,它是: 我的 SPA

但是,如果您需要这些片段,请告诉我,我会介绍的。

0 投票
1 回答
343 浏览

javascript - 在将 href 添加到 url 时加载新组件

我正在尝试实现一个系统,当单击导航栏中的项目时,它会在屏幕上加载一个新组件。我遇到了一个问题,使它成为一个新的 URL 并保持我的状态。让我澄清一下。

这是我的导航栏代码:

这是我的句柄选择代码:

在我的渲染中,我这样做:

我遇到的问题是因为 href 添加到页面重新加载的 URL 并且我失去了我的状态,所以它总是加载组件 1,因为我在构造函数中将它设置为那个。如果我删除 href 它可以工作,但 URL 不是我想要的。

如何让它加载我想要的组件、添加到 URL 并保持状态?

谢谢

0 投票
1 回答
706 浏览

javascript - React Context 初始状态正在发生变化 - JavaScript / React

我正在制作一个引导我的部分。本指南部分的作用 - 显示一系列流程。每个过程中有一系列步骤,每个步骤中有一系列选项。用户从其中一个步骤中选择一个选项,将它们带到下一个相关步骤。如果用户在第 2 步中选择选项,则可以将他们带到第 3 步或返回第 1 步。这取决于 id。

综上所述,我的流程发生了变异,我遇到了问题。我使用 React Context 作为全局状态。当用户选择一个选项时,我会获取该 ID,然后通过该 ID 过滤指定的对象。所以我应该只剩下那个特定步骤的过程。正在发生的事情是我最初的全局状态正在以某种方式发生变化。我在这里遗漏了一些东西,因为我是 React 的新手。

Ps - 我现在没有使用任何服务,所以我只是将一些 JSON 复制到我在 context.js 中的初始状态

上下文.js

Guides.js

Process.js

Guide-Steps.js

GuideSteps 中的更改是我正在执行过滤和设置新对象的逻辑的地方。

编辑

这解决了这个问题,但我认为它太贵了。我将如何解决这个问题而不必重新解析数组。

0 投票
3 回答
10690 浏览

javascript - 在 React 中单击按钮时获取文本框值的最佳方法是什么?

通常在 HTML 中你会做这样的事情:

我相信这不是 React 的做法。

像我在我的应用程序中所做的那样的另一种方法并不是我认为的最佳方法。像这样:

在其他 stackoverflow 主题中,我看到了这样的示例:

但在这一点上我也有我的问题,

我不知道如何使用多个文本输入正确执行此操作:

  1. 您可以制作多个效率低下的特定变更处理程序,

  2. 您可以使用开关制作变更处理程序以设置属性

对输入字段进行句柄更改是否有效?因为我只想要单击按钮时的输入字段值..

这就是我所说的形式。

创建客户表格

那么如何在单击按钮时使用 React 正确获取多个输入数据?

提前感谢您的帮助!