问题标签 [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 回答
577 浏览

javascript - Change state/prop in video react-native-video component

Im new to react and are experimenting a bit with react-native-video. Im trying to change a prop in the react-native-video library by clicking on a touchable element. But Im getting the errormessage:

undefined is not an object (evaluating 'this.state.setState')

Im sure this is an easy problem. I basically just want to find out how to initiate, call and change the state of the props when I am touching the defined Touchable area. In this example I want to change the rate from 0.1 to 1.

Here is my code:

0 投票
1 回答
84 浏览

reactjs - getDerivedStateFromProps 中的状态更新是否与渲染同步?

由于在每次getDervivedStateFromProps渲染之前调用,我假设状态保证在渲染之前同步更新(即它不会像正常调用那样与其他调用进行批处理?)setStatesetState

换句话说,发生的任何更新getDerivedStateFromProps都保证反映在以下render

0 投票
1 回答
39 浏览

arrays - 将这组对象设置为数组时出现问题

因此,我有一个名为 !HandleDetail 的函数,一旦单击该函数就会获取该项目并加载详细信息屏幕。当它重新加载时,无论我点击什么对象,它都只显示一个对象。因此,如果我单击 iPhone 并重新加载浏览器,它会重新加载显示的唯一项目(T 恤)对象。我确信这与状态有关,因为我使用状态修复了类似这样的其他错误。我在想我必须映射创建的数组来收集信息并设置它的状态。这是一个视频,显示了我的意思:https://tyriquedaniel14-gmail.tinytake.com/tt/MzYwMDcwN18xMDg4NTEzMQ。为了清楚起见,我试图让详细状态显示具有相同 ID 的相应项目。

我试图把它变成所有产品的数组。我尝试添加 map 方法并将 detailProduct 设置为产品。

0 投票
0 回答
95 浏览

reactjs - React 组件的本地状态未使用 onChildClick 更新

单击元素时,我正在尝试更新反应组件的本地状态

渲染外部的辅助函数在哪里onChildClickCallback,如下所示:

我已经在回调中编写了上面的 console.log,因为我读过某处状态可能不会立即更新。

但是,无论我传递给状态的值是什么,它都没有得到更新,并且控制台正在记录键和​​项的相同旧值。我在这里想念什么?

更新代码:

你已经有 onChildClickCallback 了。我想在触发 onChildClickCallback 时更新状态并重新渲染组件。

0 投票
2 回答
343 浏览

reactjs - 为什么这个反应子组件属性值未定义?

我正在学习 ReactJS,我正在尝试使用反应组件创建一个简单的测验。我有三个组件:

FinalDiv——父组件

  • 问题:显示问题
  • 答案:显示该问题的选项

两者都是FinalDiv的子组件

为了计算正确和错误的答案并转到下一个问题,我正在使用方法处理器

我的问题是我无法从Answer组件中获取所选选项的值。选项的值存储在Answer的capvalue属性中。

到目前为止,我已经尝试 event.target.value 在处理器方法中访问该值。但是在控制台中打印时它给出了未定义的。

我也试过this.capvalue。但同样的结果。

请注意,在渲染之前打印时它会给出正确的值,但是在处理器方法中打印时会给出未定义的值,因此我无法检查所选答案是否正确。请参阅代码中的 2 条注释:

我的猜测是处理器方法无法访问父组件(FinalDiv)中的Answer组件属性。所以需要在子组件本身(答案组件)中做一些事情,但我不知道是什么。我是否以某种方式将状态传递给子组件或其他东西?

如果您知道其他信息或问题格式是否错误,请告诉我。

我最近不受阻碍地提问。

0 投票
2 回答
6262 浏览

javascript - 如何将异步状态传递给子组件道具?

我是新手,我正在尝试从 API 获取数据并将数据传递给子组件。我已将数据传递给父组件的状态,但是,当我将其作为道具传递给子组件时,它会记录为空数组。我确定我忽略了一些简单的东西,但我不知道是什么,我的代码如下

父组件

子组件

0 投票
1 回答
599 浏览

reactjs - 在 redux 存储中的状态更改和相应的反应状态更改之间进行交互的正确方法

我有一个反应应用程序,它使用 redux 状态管理工具以及本地本机状态管理,即反应(组件/容器)状态。假设有一个表单组件,其数据存储在反应状态。API 调用是通过 sagas 进行和处理的,它会相应地更新 Redux Store。如何更改反应状态,例如将表单状态键更改为loading: false 或通常在 saga 从 API 调用接收数据后如何使用数据更新表单(受控表单或不受控)。对于受控表单,将有一个容器组件来管理该表单的道具,但又如何更新容器的状态呢?我不想将数据存储在 redux 和 react 状态,特别是如果该数据用于本地存储,而不是 redux 存储

如果我使用该getDerivedStateFromProps方法,我将需要将该数据存储在例如 reduxState 中,以便最终复制或计算并放入反应状态。我现在正在使用下面描述的方法,但我想知道你们还有什么可以建议的。

https://github.com/redux-saga/redux-saga/issues/907

我正在使用的示例代码如下,类似于链接中描述的代码

validateDispatch 调度一个动作,redux saga 拦截,执行 Api 调用并返回某些数据以在 Promise 解决后更新反应状态。当然这是妥协

0 投票
2 回答
35 浏览

reactjs - 更新父状态时更新子选项列表

我基于所选课程的选项(域)列表在父状态下更新,但孩子不会更新/继承随它发送的道具。子节点需要从父节点接收域状态并从中组成一个选项列表。它适用于初始化,但在父组件中当然更改后不会更新。

添加问题.js

MainQuestion.js

子问题.js

预期结果将是子组件根据课程更改域。这些变量已更改为父 AddQuestion,但不会作为子项中的道具出现。

0 投票
4 回答
11051 浏览

reactjs - React - 状态挂钩映射不是函数

我知道有类似的问题,但我不知道为什么会发生错误。Div 显示,但随后应用程序崩溃(好像是一些长度问题)

代码类似于我找到的示例,比如这个沙箱

我究竟做错了什么?

这是组件:

这是 api 服务:

错误:

在此处输入图像描述

0 投票
2 回答
2256 浏览

reactjs - 打字稿通用状态更改函数类型转换错误

我正在创建一个通用函数来更改状态。

错误信息:

这是通用更改功能的示例:

./UserSignUp.tsx

在此示例中,更改事件应该只允许更新url: string;andname: string;和 not errors: []

我应该定义'url'和'name'类型并以某种方式在更改函数中重用它们吗?


*在 Typescript 文档中,它声明可以使用可索引类型。但是,这样做我将失去类型检查。副作用是我可能还设置了“错误”状态,这通常不应该通过更改功能实现。


更新:根据这个Stackoverflow Question中的答案,以下解决方案是可能的:

拆分界面:

并通过以下方式重新使用该接口:

或者: