问题标签 [react-state]

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 投票
3 回答
3938 浏览

javascript - 无法在反应中使用状态来增加计数

以下是我的代码,我在其中尝试使用单击按钮增加计数,但它没有更新值。虽然我在控制台中也没有收到任何错误。让我知道我在这里做错了什么。

JS代码 -

Codepen - https://codepen.io/anon/pen/LaMOEp

0 投票
4 回答
5333 浏览

reactjs - React - 更新道具的状态更改 - 输入元素

我已经阅读了与这个问题相关的所有堆栈溢出问题,还有这个官方反应帖子和首选解决方案。
不建议再使用componentWillReceiveProps了!

在将此问题标记为重复之前,请理解我的具体问题,我没有看到针对我的具体问题的任何解决方案。

我想做的很简单:
我有组件KInputRange从道具接收值并将值发送出去(回调)onEnter事件(仅在输入时将值发送到服务器)props.value可以随机更改(即将到来通过来自服务器的 websocket)

我的问题
在我的组件中,<input>value 属性将从props或从获取数据state

如果来自道具: 当用户键入输入数据时,如何在内部更新值?

如果来自状态: 如果 props.value 从服务器随机更改,我如何更新新值?

我实际上需要在道具更改时更新我的​​内部状态,但是如果反应说这是反模式,今天该怎么做?

到目前为止,这是我的代码:

用法:

0 投票
1 回答
149 浏览

reactjs - 值没有被“this.setState({value})”存储在“状态”中

我从“解码的令牌”中获取“用户”并将该用户设置为状态,但是尽管“用户”具有值,但值并未存储在状态中。

这是我的代码。

但用户没有被存储在状态中。请帮忙。

0 投票
3 回答
453 浏览

javascript - 从父级传递给子级的道具并将这些道具设置为状态不会立即起作用

我正在构建一个应用程序,我从我的 Nodejs 应用程序中获得“投诉”。然后我将这些投诉作为道具传递给子组件。在子组件中,我将这些道具设置为ComponentDidMount(). 但是render()函数首先被调用,所以它不会在屏幕上显示任何内容。状态不是立即设置的。请帮忙。我从2天开始挣扎。

这是父组件

这是孩子

问题是,与状态一样,行是空的.ie []。在componentDidMount()我将即将到来的道具设置为这个“AllComplaints”组件的状态。

我想将“props”值设置为“this.state.data.rows”。但这并没有发生。设置需要时间,但render()首先调用它,因此它不会在屏幕上显示任何内容。

请帮忙。

0 投票
3 回答
2037 浏览

javascript - 强制输入的 onChange 事件气泡到父窗体,并将值存储在状态中

编辑

抱歉显示错误的用例。内部的所有输入Form都被传递this.props.children,并且它们可以位于组件树的任何深处,因此handleChange直接传递给输入的方法根本行不通。


这是重现问题的代码片段。

如您所见,当您在默认输入中键入内容(受控或不受控等)时,表单会捕获冒泡onChange事件。但是,当您以编程方式设置输入值时(state在这种情况下使用 , ),不会触发 onChange 事件,因此我无法在表单的onChange.

有什么办法可以解决这个问题吗?我试图在它的回调input.dispatchEvent(new Event("change", { bubbles: true }))之后setState({ selected: input })和内部立即进行,但没有结果。

0 投票
1 回答
356 浏览

arrays - 如何在更新中间位置的数组状态后重新呈现列表(不在列表的顶部或底部)?

我有一个 html 列表,我交换了列表项(reactjs 状态)。交换项目后,如果我在两者之间删除项目(实际上我在状态下正确删除项目但无法在列表中正确显示),我该如何重新呈现列表项目?

状态:项目是一个数组。数组位置可以与每个项目位置状态值不同(参见对象)。

列表:列表位置是每个项目的位置,即对象值,但与对象的数组索引相比可以不同。

交换项:通过拖放更改涉及的每个列表项的内部html。

擦除:当我擦除介于两者之间的最近交换的项目时,它会擦除​​最后一个列表项,尽管它不包括被删除的数组状态的项目(数组状态的变化很好,只是图形界面显示了问题) .

我的状态:

我通过更改每个列表项的内部 HTML 来交换项目时的 Drop 功能:

我的擦除功能:

当我使用这些功能和状态作为道具时,我的反应组件的内容:

现在的结果:

  • 我正确地交换了项目,但是在交换后擦除中间的项目(例如列表中的位置 2)时,只需擦除最后一个列表项,同时在位置 2 中显示错误信息(对于本示例)。根据开发人员控制台,状态数据很好。
0 投票
3 回答
215 浏览

reactjs - 状态未通过 API 的获取请求正确更新

我正在发出两个 api GET 请求,并且我希望更新状态。由于某种原因,它仅使用第一个 GET 请求中的值进行更新。

我尝试使用扩展运算符更新状态并将新值添加到来自 GET 请求的当前状态(类别)。

我目前从第一个 GET 请求中获得 10 个值,并且希望在映射类别时获得总共 20 个值。

0 投票
1 回答
162 浏览

reactjs - 在 reactjs 中以现有状态动态添加对象变量(使用功能组件)

我是 reactjs 的新手并正在创建小项目,我使用的是功能组件而不是类组件,并使用 store 来表示状态。我添加了一些状态变量并想添加处于退出状态的对象数组,我试过但它不起作用。以下是我设置状态的商店文件:

我想在状态变量“multiForm”中动态添加对象,当有人输入值 2 我想在“multiForm”中添加两个对象,如下所示

0 投票
1 回答
48 浏览

reactjs - 如何访问 React 中存储中不存在的状态?

我的页面左侧有一个序列图,右侧有日志。我使用 react-json-inspector 库。这是提供日志列表。但我有一个问题。当我单击序列图表的文本时,它会转到列表中的项目。但是列表中的项目没有展开。图书馆有一个展开活动。我需要到达状态来扩展这个元素。但它仅在最初呈现。我需要达到此图像中出现的状态。但这种状态不在我的商店内。如何访问该库使用的状态?

在此处输入图像描述

库链接:https ://github.com/Lapple/react-json-inspector

0 投票
2 回答
9001 浏览

reactjs - 选定的值未显示在文本字段选择中 - 材质 UI 反应组件

我有基于变量中一定数量值的 TextField Select Material UI 组件。

当我从上一个下拉列表中选择值并根据之前的选择过滤菜单时,TextFields 按顺序显示。

更新:这是我的 handleChange 方法->

状态更新正常,但文本字段不显示所选值。我已经尝试了我所知道的一切。任何帮助表示赞赏。